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

小云云
Libérer: 2017-12-14 09:25:12
original
2233 Les gens l'ont consulté

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);
 }
}//冒泡排序
Copier après la connexion

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;
}//两个数字交换
Copier après la connexion

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;
 }
}
Copier après la connexion

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal