Maison >interface Web >js tutoriel >Analyse d'exemple de tri par sélection et de tri par insertion de tri à bulles JS

Analyse d'exemple de tri par sélection et de tri par insertion de tri à bulles JS

小云云
小云云original
2017-12-14 09:25:122227parcourir

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-y. J'espère pouvoir aider tout le monde.

Tri des bulles :

Comparez les tailles de deux nombres adjacents en séquence pour les données du tableau.

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;
 }
}

Recommandations associées :

Tri par comptage implémenté par JS Exemples d'algorithme de tri de base_compétences javascript

Explication détaillée de l'algorithme de tri

Explication détaillée de la déduplication de tableau javascript et exemples d'algorithmes de tri rapide

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