L'exemple de cet article indique la mise en œuvre et l'analyse simple de plusieurs algorithmes de tri Java. Partagez-le pour tout le monde pour votre référence. Les détails sont les suivants:
Test de package; classe publique d'abord {* Il est déterminé si le vietnamien, //, la demande du tableau commence à partir du deuxième numéro. [j] <list [J -1 1]) {int temp = list [j]; base, ajouter la recherche binaire * / placer vide bininsertsort (int [] r, int low, int high) {for (int i = low + 1; i <= high; i ++) {int temp = r [i]; // Enregistrer l'élément int hi = i -1; ; J> Hi; J -) R [J + 1] = R [J]; int [] r, int low, int high, int [] delta) {pour (pour (pour (pour (]. int k = 0; k <delngth; k ++) shelentsert (r, bas, high, delta [ K]);} private void shelentsersert (int [] r, int low, int deldak) {for (int i = low + deltak; i <= high; i ++) if (r [i] <r [i- Deltak]) {int temp = r [i]; int j = i-deltak; ]]; +) {// As n -1 Trips to int min min = k; <r [min]) min = i; min]; r [min] = test;} // fin de if}} / * top-top top pile * / public void heapsort (int [] r) {int n = r.length-1 pour (int (int; i = n / 2; i> = 1; i-) tasé 1 ]]; j <= high; j = j * 2) {if (j <high && r [j] <r [j + 1]) j ++; R [J]; Low = J;} R [Low] = Test; 0, 99, 55, 7, 5, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 4, 4, 4, 4, 3, 2, 1}; Int [] K = {5,3,1}; Fs.InsertSort (a); , 0, a.length-1); .length;
Le tri, le tri d'échange, le tri de sélection, le tri de fusion et d'autres méthodes de tri ont une caractéristique commune, c'est-à-dire qu'ils déterminent tous la position relative entre les éléments à travers des éléments comparatifs, c'est-à-dire que les méthodes de tri ci-dessus sont basées sur la comparaison. Ci-dessous, nous comparerons et résumerons en fonction des méthodes de tri comparatives.
Nous comparons principalement les méthodes de tri de la complexité temporelle moyenne de l'algorithme, la pire complexité de temps, la complexité de l'espace et la stabilité du tri.
Tri Méthode Complexité du temps moyen La pire complexité de complexité de temps La complexité de l'espace et la stabilité de la stabilité directement insérée (N2) (N2) ο (1) Tri de mousse stable (N2) ο (N2) ο (1) Tri stable et rapide ) (N log n) l (n2) ο (log n) instable et simplement sélectionner tri ο (n2) ο (1) ο (1) thea instable there (n log n) ο (n log n) ο (n log n) ο (n log) 1) Busion instable SORT ο (n log n) ο (n log n) ο (n) stable
En termes de performances de temps, le tri rapide est la meilleure performance réelle dans tous les algorithmes de tri. Cela peut être évité en modifiant le tri rapide. Dans la comparaison du tri de pile et du tri de fusion, lorsque N est grand, le temps requis pour les fusions et le tri est moindre, mais il nécessite plus d'espace de stockage auxiliaire.
Du point de vue de la stabilité de la méthode, la plupart du temps, la complexité est le tri (N2) est une méthode de tri stable. La plupart des méthodes de tri avec de bonnes performances, telles que le tri rapide, le tri d'empilement et le tri de Hill sont instables. D'une manière générale, la méthode de tri de la comparaison entre le processus de tri est stable.
De plus, la stabilité de la méthode de tri est déterminée par la méthode elle-même.
En résumé, aucune des méthodes de tri discutées ci-dessus n'est absolument optimale.
On espère que cet article est utile à la conception du programme Java de tous.