1. Tri à bulles
Idée d'algorithme: Traversez le tableau à tri et comparez deux éléments adjacents à chaque fois. Si leur ordonnance d'arrangement est erronée, échangez leurs positions. Après un voyage à trier, le plus grand élément flottera à la fin du tableau. Répétez jusqu'à ce que le tri soit terminé.
Exemple de démonstration:
Implémentation de l'algorithme:
pour (int i = 0; i <array.length-1; i ++) {// trie n-1 fois au plus pour (int j = 0; j <array.length-i-1; j ++) {// le nombre de fois qui doit être échangé if (array [j]> array [j + 1]) {int temp = array [j]; Array [J] = Array [J + 1]; Array [J + 1] = temp; }}}Complexité temporelle de l'algorithme: O (N2) La boucle extérieure doit être comparée des temps n-1, et la boucle intérieure doit être comparée n fois.
2. Sélectionnez le tri
Idée d'algorithme: resélectionnez le plus petit élément du tableau à tri et l'échangez avec l'élément à la première position du tableau. Sélectionnez ensuite un plus petit élément dans les éléments restants et échangez-le avec l'élément de la deuxième position. Si le plus petit élément est l'élément de cette position, échangez-le avec lui-même, et ainsi de suite jusqu'à ce que le tri soit terminé.
Exemple de démonstration:
Implémentation de l'algorithme:
for (int i = 0; i <array.length; i ++) {int min = i; for (int j = i + 1; j <array.length; j ++) {if (array [j] <array [min]) {min = j; }} int temp = array [min]; array [min] = array [i]; Array [i] = temp; } Complexité temporelle: O (N2) nécessite des comparaisons N2 / 2 et des échanges N
3. Insérer le tri
Idée d'algorithme: commencez à traverser le deuxième élément du tableau, comparez l'élément avec l'élément précédent, si l'élément est plus petit que l'élément précédent, enregistrez l'élément dans une variable temporaire, déplacez l'élément précédent vers l'arrière, puis insérez l'élément dans une position appropriée. Une fois chaque tri terminé, les éléments du côté gauche de l'indice doivent être commandés, mais peuvent toujours être déplacés. Pour les tableaux avec moins d'inversions, plus l'algorithme est efficace.
Remarque: Inversé: 5 3 6 2 Le terme inversé est 5-3 5-2 3-2 6-2
Exemple de démonstration:
Implémentation de l'algorithme:
for (int i = 1; i <array.length; i ++) {for (int j = i; j> 0 && array [j] <array [j-1]; j -) {int temp = array [j]; Array [J] = Array [J-1]; Array [J-1] = temp; }}Complexité temporelle: O (N2) Pire des cas N2 / 2 Comparaison, N2 / 2 Exchange Meilleur cas N-1 Comparaison, 0 échanges
Les trois algorithmes de tri simples ci-dessus (implémentés à l'aide de Java) sont tout le contenu que je partage avec vous. J'espère que vous pourrez vous faire référence et j'espère que vous pourrez soutenir Wulin.com plus.