L'exemple de cet article indique le tri du résumé de l'algorithme de tri Java. Partagez-le pour tout le monde pour votre référence. L'analyse spécifique est la suivante:
En 1991, Robert W. Flayd, professeur au Département des sciences informatiques du Département des sciences informatiques de l'Université de Stanford, et J. Williams en 1964 ont inventé conjointement le célèbre tri de tas (tria) Essence Cet article présente principalement Java au tri du tas.
Heapsort fait référence à un algorithme de tri conçu par la structure de données du pile (tas), qui peut utiliser les caractéristiques du tableau pour localiser rapidement l'élément des index spécifiés. L'ordre d'empilement est une méthode de tri instable.
L'ordre d'empilement utilise les caractéristiques de l'enregistrement supérieur maximal (ou minimum) des mots clés d'un grand enregistrement de pile de pile (ou de petite root), ce qui rend le mot-clé maximum (ou minimum) dans la zone désordonnée actuelle simple.
(1) des idées de base triées avec une grande pile
① Construisez d'abord le fichier initial r [1..n] dans une grande pile racinaire. satisfaire r [1 .. n-1] .Keys≤r [n] .key
③ Étant donné que la nouvelle racine R [1] peut violer la nature du tas après l'échange, la région non ordonnée actuelle R [1 .. N-1] doit être ajustée en tas. Ensuite, les mots clés des mots clés de R [1..N-1] sont à nouveau échangés avec le dernier enregistrement R [n-1] dans l'intervalle, qui a obtenu une nouvelle région désordonnée R [1 ..... n-2 ] et une zone ordonnée r [n-1..n], et satisfaire toujours la relation r [1 ..- .. n-2] .Keys≤r [n-1..n] .keys, aussi à r [1..N-2] Ajustez au tas.
Nympho
Jusqu'à ce qu'il n'y ait qu'un seul élément dans la zone désordonnée.
(2) Fonctionnement de base de l'algorithme de tri d'une grande racine:
① Initialiser le fonctionnement: construction de r [1..n] dans le tas initial;
② Fonctionnement de base de chaque type: échangez le dernier enregistrement de l'enregistrement de la pile r [1] dans la zone désordonnée actuelle, puis ajustez la nouvelle zone désordonnée en pile (également connue sous le nom de reconstruction).
Avis:
① Faites simplement le tri N-1 et sélectionnez un mot-clé N-1 plus grand pour augmenter le fichier dans l'ordre.
② Le tri avec de petites racines est similaire à une grande racine, mais ses résultats de tri diminuent et ordonnés. L'ordre d'empilement et la sélection directe de tri sont opposés: à tout moment, la région désordonnée est toujours avant la zone ordonnée, et la zone ordonnée se développe progressivement de l'arrière du vecteur d'origine à l'ensemble du vecteur.
Implémentation du code:
Test de classe publique {public static int [] heap = {10, 32, 1, 9, 5, 7, 0, 4, 3}; {int i; +) System.out .printf ("% 3s", tas); (i = 1; i <index -1; i ++) System.out.printf ("% 3s", tas); VOID CREAP (INT ROOT, IND INDEX) {int I, J; Le sous-marin = root]; [j]) fini = 1; ; ; tas [1] = testheap (1, i); "% 3s", tas [j]);
Le tas peut être considéré comme un arbre, et la hauteur du nœud dans la hauteur peut être définie comme le nombre du chemin de chute simple le plus long du nœud au nœud feuille; racine. Nous verrons que certaines des opérations de base sur la structure du tas sont principalement proportionnelles à la hauteur de l'arbre, qui est O (LGN). En lisant cet article, j'espère vous aider.
On espère que cet article est utile à la conception du programme Java de tous.