Heim >Web-Frontend >js-Tutorial >Beispielanalyse für JS-Blasensortierung, Auswahlsortierung und Einfügungssortierung

Beispielanalyse für JS-Blasensortierung, Auswahlsortierung und Einfügungssortierung

小云云
小云云Original
2017-12-14 09:25:122236Durchsuche

Dieser Artikel stellt hauptsächlich die Blasensortierung, Auswahlsortierung und Einfügungssortierung des JS-Sortieralgorithmus vor. Er analysiert die Konzepte, Prinzipien und Implementierungsmethoden der Blasensortierung, Auswahlsortierung und Einfügungssortierung in Form von Beispielen Ich hoffe, ich kann allen helfen.

Blasensortierung:

Vergleichen Sie die Größen zweier benachbarter Zahlen nacheinander für die Daten im Array.

Wenn die vorherigen Daten größer sind als die späteren Daten, tauschen Sie die beiden Zahlen aus.

ZeitkomplexitätO(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);
 }
}//冒泡排序

Auswahlsortierung:

Wählen Sie zunächst die kleinsten Daten aus dem ursprünglichen Array aus und tauschen Sie diese mit den Daten an Position 1 aus.

Wählen Sie aus den verbleibenden n-1 Daten die nächstkleineren Daten aus und tauschen Sie sie mit den Daten an der zweiten Position aus.

Wiederholen, bis die letzten beiden Daten ausgetauscht sind.

ZeitkomplexitätO(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;
}//两个数字交换

Einfügungssortierung:

Vergleichen Sie zunächst die ersten beiden Daten von klein nach groß.

Vergleichen Sie dann die dritten Daten mit den ersten beiden angeordneten Daten und fügen Sie die dritten Daten an der entsprechenden Position ein. Und so weiter.

(Einfügesortierung hat zwei Schleifen. Die äußere Schleife verschiebt die Arrays einzeln, und die innere Schleife vergleicht das von der äußeren Schleife ausgewählte Element mit der Zahl davor.)

Zeitliche Komplexität 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;
 }
}

Verwandte Empfehlungen:

Zählsortierung implementiert durch JS Beispiele für Radix-Sortieralgorithmus_Javascript-Fähigkeiten

Detaillierte Erklärung des Sortieralgorithmus

Detaillierte Erklärung der Javascript-Array-Deduplizierung und Beispiele für schnelle Sortieralgorithmen

Das obige ist der detaillierte Inhalt vonBeispielanalyse für JS-Blasensortierung, Auswahlsortierung und Einfügungssortierung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn