Pratique Python, IA Engineering et bien plus avec des exercices interactifs et des tests automatiques.
Quand on parle de complexité algorithmique, on cherche a savoir comment le temps d'execution evolue quand la taille des données augmente. O(n), ca veut dire …
O(n²), ca veut dire quadratique. Le temps d'execution augmente avec le carre de la taille des données. Si ta liste double, le temps est multiplie …
O(log n), c'est la complexité logarithmique. C'est tres rapide : meme si ta liste a un million d'éléments, il te faut seulement environ 20 étapes. …
Pour bien comprendre les differences de complexité, rien de mieux que de les implémenter cote a cote. O(1) veut dire temps constant : peu importe …
Le tri a bulles est l'algorithme de tri le plus simple a comprendre. Son nom vient du fait que les grands éléments remontent vers la …
Le tri par selection fonctionne comme quand tu tries des cartes a jouer dans ta main. A chaque étape, tu cherches la plus petite carte …
Le tri par insertion, c'est exactement ce que tu fais quand tu tries des cartes que tu recois une par une. Tu tiens les cartes …
Le tri fusion utilise la stratégie diviser pour regner. L'idee est brillante : si tu ne sais pas trier une grande liste, coupe-la en deux, …
Le tri rapide est souvent le plus utilise en pratique. Son idee : choisir un élément pivot, puis séparer tous les éléments en trois groupes. …
La recherche lineaire est la méthode la plus basique pour trouver un élément dans une liste. Tu parcours les éléments un par un, du debut …
La recherche binaire est beaucoup plus rapide que la recherche lineaire, mais elle a une contrainte : la liste doit etre triee. C'est comme chercher …
Trouver le minimum et le maximum d'une liste en un seul parcours, c'est un exercice classique d'optimisation. L'idee est simple : tu initialises le minimum …
Dans la vraie vie, on cherche rarement un élément exact. On veut plutot les N meilleurs éléments qui satisfont une condition. Par exemple : les …
Une pile, c'est comme une pile d'assiettes. Tu ne peux poser une assiette que sur le dessus, et tu ne peux retirer que celle du …
Une file, c'est comme la file d'attente au cinema. Le premier arrive est le premier servi. On appelle ca FIFO : First In, First Out. …
Une liste chainee, c'est comme un train : chaque wagon (noeud) contient une donnée et un lien vers le wagon suivant. Le dernier wagon ne …
Le dictionnaire Python (dict) est en fait une table de hachage. C'est l'une des structures de données les plus importantes en informatique, car elle permet …
C'est un exercice classique qui montre l'utilite des piles dans un cas concret. Quand un compilateur ou un interpreteur lit du code, il doit vérifier …
Une file de priorite, c'est comme les urgences a l'hopital. Les patients ne sont pas traites dans l'ordre d'arrivee, mais par ordre de gravite. Un …
Pour bien comprendre la recursion, voici un exercice tout simple : calculer la somme d'une liste sans boucle et sans la fonction sum. L'idee récursive …
Aplatir une liste, c'est transformer une liste qui contient d'autres listes (a n'importe quelle profondeur) en une liste plate. Par exemple : [1, [2, 3], …
Les Tours de Hanoi, c'est un puzzle classique. Tu as trois tiges (A, B, C) et n disques de tailles differentes empiles sur la tige …
Tu as deja implémente la recherche binaire avec une boucle while. Maintenant, refais-la de facon récursive. Le principe est le meme : a chaque appel, …
Un arbre binaire de recherche (BST), c'est comme un arbre généalogique organisé par taille. Chaque personne a au maximum deux enfants : un a gauche …