Méthode de classement | Pire analyse de temps | Complexité temporelle moyenne | La stabilité | Complexité de l'espace |
Tri par bulle | O (n 2 ) | O (n2) | Stable | O (1) |
Insérer un tri | O (n 2 ) | O (n2) | Stable | O (1) |
Sélectionnez le tri | O (n 2 ) | O (n2) | Stable | O (1) |
Tri des arbres binaires | O (n 2 ) | O (n * log2n) | Différent | O (n) |
Tri rapide | O (n 2 ) | O (n * log2n) | Instable | O (log2n) ~ O (n) |
Tri par tas | O (n * log 2 n) | O (n * log2n) | Instable | O (1) |
Tri des collines | Le | Le | Instable | O (1) |
Trouver | Complexité temporelle moyenne | Condition de recherche | Description de l'algorithme |
Recherche séquentielle | O (n) | File d'attente non ordonnée ou ordonnée | Comparez chaque élément dans l'ordre jusqu'à ce que le mot-clé soit trouvé |
Recherche binaire (demi-recherche) | O (logn) | Tableau ordonné | Le processus de recherche commence à partir de l'élément du milieu du tableau. Si l'élément du milieu est exactement l'élément à rechercher, le processus de recherche se termine; si un certain élément est supérieur ou inférieur à l'élément du milieu, il recherche dans la moitié du tableau qui est supérieure ou inférieure à l'élément du milieu. Et commencez par l'élément du milieu comme précédemment. Si le tableau est vide à une certaine étape, cela signifie qu'il ne peut pas être trouvé. |
Recherche d'arbre de tri binaire | O (logn) | Arbre de tri binaire | Dans l'arborescence de recherche binaire b recherche x procédure comme suit: 1. Si b est l' arbre nul, la recherche échoue 2. Si x est égal à b champ de données de valeur du nœud racine, puis la recherche est réussie; 3. Si x est inférieur à b de La valeur du champ de données du nœud racine est recherchée pour le sous-arbre gauche 4. Recherchez le sous-arbre droit. |
Méthode de table de hachage (table de hachage) | O (1) | Créez d'abord une table de hachage (table de hachage) | Selon la recherche de valeur clé (valeur clé), via la fonction de hachage pour localiser l'élément de données. |
Recherche de bloc | O (logn) | File d'attente non ordonnée ou ordonnée | Les n éléments de données sont divisés en m blocs "par ordre de blocs" (m ≤ n). Il n'est pas nécessaire de classer les nœuds de chaque bloc, mais les blocs doivent être "classés par bloc", c'est-à-dire que le mot-clé de tout élément du premier bloc doit être inférieur au mot-clé de tout élément du deuxième bloc; et Tout élément du deuxième bloc doit être plus petit que tout élément du troisième bloc ... Utilisez ensuite la recherche binaire et la recherche séquentielle. |