Les algoritmes, ces méthodes précises servant à résoudre des problèmes sont à la base de nos savoirs techniques dés le plus jeune âge : les méthodes pour additionner, soustraire multiplier, diviser, calculer le PGCD trouver des nombres premiers, etc., sont des algorithmes que l'on apprend dés l'école primaire...
et son
avant d'utiliser son
Les premiers algorithmes que l'on apprend à l'école sont : additionner, soustraire, multiplier et diviser.
Le crible d'Eratosthène est un algorithme permettant de trouver les N premiers nombres premiers.
nom_de_la_variable ← valeur
"pS4µ�®DĥS#.?;Ɩ U+仮0196❿ DطF°MĊ_A仮¨Xjd4Ƃs%¶%&c"
Chaque ligne sera représentée par une liste de 4 nombres entiers où 1 signifie qu'il y a un pion et 0 signifie qu'il n'y a rien. Il y aura donc 4 lignes regroupées dans une seule variable qui est une liste de liste :
D ← [ [0, 0, 0, 1], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 1, 0] ]
On appelle $elog (x)$ le logarithme entier du nombre $x$ ≤ 1 le nombre de fois qu'il faut le diviser par 2 pour obtenir un nombre inférieur strictement à 1. Par exemple, $elog (30000)=16$ car 30000 divisé par $2^{16}$ vaut 0,915...
Comme on ne sait d'avance combien de fois il faut diviser par 2, on utilise la boucle tant que :
L'algorithme de tri par sélection déplace un élément d'une liste à la fois. On commence par chercher le plus petit de tous les objets, puis le placer en premier. Il faut alors répéter cet étape sur tous les élements restants, jusqu'à ce que la liste soit triée.
Dans cette stratégie, il faut donc arriver à faire plusieurs choses :
L'algorithme de tri à bulles consiste à trier une liste en ne s'autorisant qu'à échanger deux éléments consécutifs. On fait alors l'économie de comparer un terme à tous les autres n fois à chaque étape.
Il existe de nombreux algorithmes de tri basés sur des techniques plus ou moins complexes. Chacun présente des avantages et des incovénients. Il n'existe pas d'algorithme plus efficace que tous les autres dans tous les cas. Par exemple le tri à bulle triera très rapidement une liste avec quelques permutations, tandis que l'algorithme par sélection devra passer par la recherche de tous les éléments les plus petits et créer du désordre avant d'arriver à trier complètement.
Vous pouvez voir fonctionner en temps réel des algorithmes de tri différents sur cette page. Il est possible de tester leurs performances sur des listes aléatoires, presque déjà triées, inversées et avec des doublons. Vous constaterez qu'il n'y a pas de meilleur (mais le tri par sélection est toujours dernier) !