Heim > Web-Frontend > js-Tutorial > So implementieren Sie eine schnelle Sortierung mit js

So implementieren Sie eine schnelle Sortierung mit js

一个新手
Freigeben: 2017-09-14 10:33:54
Original
1438 Leute haben es durchsucht

Quick Sort, der in der Praxis auch am häufigsten verwendete Sortieralgorithmus, ist schnell und effizient. Wie der Name schon sagt, ist Quick Sort der beste Sortieralgorithmus.

1) Algorithmusprinzip

Die Grundidee der schnellen Sortierung: Sortieren Trennen Sie die zu sortierenden Datensätze in einem Durchgang in zwei unabhängige Teile. Die Schlüsselwörter eines Teils des Datensatzes sind kleiner als die Schlüsselwörter des anderen Teils. Anschließend können Sie die beiden Teile der Datensätze separat sortieren die gesamte Sequenz.

2) Algorithmusbeschreibung

Die Schnellsortierung verwendet die Divide-and-Conquer-Methode, um eine Zeichenfolge (Liste) in zu unterteilen zwei Unterlisten. Der spezifische Algorithmus wird wie folgt beschrieben:

<1> Wählen Sie ein Element aus der Sequenz aus, das als „Pivot“ bezeichnet wird ;2> Ordnen Sie das Array neu an, sodass alle Elemente, die kleiner als der Basiswert sind, vor der Basis platziert werden und alle Elemente, die größer als der Basiswert sind, hinter der Basis platziert werden (die gleiche Zahl kann auf beiden Seiten platziert werden). Nachdem diese Partition beendet wurde, befindet sich die Basis in der Mitte der Sequenz. Dies wird als Partitionsoperation bezeichnet.

<3>

3) JavaScript-Code-Implementierung

4) Algorithmusanalyse

function paritition(arr, low, high) {
  let pivot = arr[low];
  while (low < high) {
    while (low < high && arr[high] > pivot) {
      --high;
    }
    arr[low] = arr[high];
    while (low < high && arr[low] <= pivot) {
      ++low;
    }
    arr[high] = arr[low];
  }
  arr[low] = pivot;
  return low;
}
function quickSort(arr, low, high) {
  if (low < high) {
    let pivot = paritition(arr, low, high);
    quickSort(arr, low, pivot - 1);
    quickSort(arr, pivot + 1, high);
  }
  return arr;
}
  var arr=[1,45,37,5,48,15,37,26,29,2,46,4,17,50,52];    
  console.log(quickSort(arr,0,arr.length-1));
Nach dem Login kopieren

Bester Fall: T(n) = O(nlogn)

Schlimmster Fall: T (n) = O(n^2)

Durchschnittlicher Fall: T(n) = O(nlogn)

Liste der zehn besten Algorithmen:

1.

Verwenden Sie JavaScript, um die zehn besten klassischen Sortieralgorithmen zu implementieren – Blasensortierung

2.

Verwenden Sie JavaScript, um die Top Ten der klassischen Sortieralgorithmen zu implementieren – Auswahlsortierung

3.Verwenden Sie JavaScript zur Implementierung Die zehn besten klassischen Sortieralgorithmen – Einfügungssortierung

Das obige ist der detaillierte Inhalt vonSo implementieren Sie eine schnelle Sortierung mit js. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage