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 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 …
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. …
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 …
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 …
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 …
Maintenant que tu sais insérer des valeurs dans un BST, voyons comment y chercher une valeur. C'est comme chercher un mot dans un dictionnaire papier …
Il y a trois facons classiques de parcourir un arbre binaire. Imagine que tu visites une maison a trois etages. Tu peux : 1. Parcours …
La hauteur d'un arbre, c'est comme compter le nombre d'etages d'un immeuble. C'est le nombre d'aretes (de liens) sur le chemin le plus long entre …
Un graphe, c'est un ensemble de points (les noeuds) relies par des lignes (les aretes). Pense a un reseau social : chaque personne est un …
Le BFS (Breadth-First Search) explore un graphe niveau par niveau, comme une onde qui se propage depuis un caillou jete dans l'eau. D'abord les voisins …
Le DFS (Depth-First Search), c'est l'oppose du BFS. Au lieu d'explorer niveau par niveau, tu explores le plus loin possible dans une direction avant de …
La suite de Fibonacci est un classique : chaque nombre est la somme des deux précédents. fibonacci(0) = 0, fibonacci(1) = 1, fibonacci(2) = 1, …
Imagine que tu es caissier et que tu dois rendre la monnaie avec le moins de pieces possible. Tu as des pieces de differentes valeurs …