Maison  >  Article  >  interface Web  >  Résumé de l'algorithme de tri JS

Résumé de l'algorithme de tri JS

亚连
亚连original
2018-06-21 11:02:071338parcourir

Cet article présente principalement le tri à bulles, le tri par sélection et le tri par insertion de l'algorithme de tri JS. Il analyse les concepts, les principes et les méthodes de mise en œuvre du tri à bulles, du tri par sélection et du tri par insertion sous forme d'exemples. référez-vous à lui. Suivant

Les exemples de cet article décrivent les algorithmes de tri JS de tri à bulles, de tri par sélection et de tri par insertion. Partagez-le avec tout le monde pour votre référence. Les détails sont les suivants :

Tri à bulles :

Comparez les données du tableau dans l'ordre entre deux adjacents. La taille du nombre.

Si les données précédentes sont supérieures aux données ultérieures, échangez les deux nombres.

Complexité temporelleO(n^2)

function bubble(array){
 var temp;
 for(var i=0; i<arr.length; i++){
  for(var j=0; j<arr.length; j++){
   if(arr[j]>arr[j+1]){
    temp = arr[j+1];
    arr[j+1] =arr[j];
    arr[j]=temp;
   }
  }console.log(arr);
 }
}//冒泡排序

Tri de sélection :

Sélectionnez d'abord les plus petites données du tableau d'origine et échangez-les avec les données en position 1.

Sélectionnez les données les plus petites suivantes parmi les données n-1 restantes et échangez-les avec les données en deuxième position.

Répétez jusqu'à ce que les deux dernières données soient échangées.

Complexité temporelleO(n^2)

function selectionSort(array){
 var min,temp;
 for(var i=0; i<array.length-1; i++){
  min=i;
  for(var j=i+1; j<array.length; j++){
   if(array[j]<array[min]){
    min=j;
   }
  }
  swap(array,min,i);
 }
 console.log(array);
}//选择排序
function swap(array,i,j){
 var temp =array[i];
 array[i]=array[j];
 array[j]=temp;
}//两个数字交换

Tri par insertion :

Comparez d’abord les deux premières données de petite à grande.

Comparez ensuite les troisièmes données avec les deux premières données disposées et insérez les troisièmes données dans la position appropriée. Et ainsi de suite.

(Le tri par insertion comporte deux boucles. La boucle externe déplace les tableaux un par un et la boucle interne compare l'élément sélectionné par la boucle externe avec le nombre qui le précède.)

Complexité temporelle O(n^2)

function insertSort(arr){
 var temp, j;
 for(var i=1; i<arr.length; i++){
  temp =arr[i];
  j=i;
  while(j>0 && arr[j-1]>temp){
   arr[j]=arr[j-1];
   j--;
  }
  arr[j]=temp;
 }
}

Ce qui précède est ce que j'ai compilé pour tout le monde. J'espère que cela sera utile à tout le monde à l'avenir.

Articles connexes :

Le processus d'encapsulation et de soumission de données dans un formulaire

Enregistrement de l'occurrence d'éléments répétés dans JavaScript Times

Comment utiliser JQUERY pour implémenter plusieurs requêtes AJAX

Comment appeler vuex pour stocker les données d'interface dans vue.js

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn