Explication de l'efficacité des algorithmes de tri / recherche couramment utilisés

 

 

 

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.

 

 

Publié 22 articles originaux · J'aime 3 · Visiteur 3442

Je suppose que tu aimes

Origine blog.csdn.net/ChyoD1811/article/details/101348929
conseillé
Classement