Inleiding tot snel sorteren in JavaScript

Een sorteeralgoritme is een van de belangrijke onderdelen van de gegevensstructuur. Sorteren is de manier om de groep items op een bepaalde manier te rangschikken. Wanneer we snellere sorteeralgoritmen bespreken, komt de Quick Sort in het spel. Dit is een van de meest populaire sorteertechnieken wat betreft de uitvoeringstijd. Dit is relatief een betere keuze voor elke ontwikkelaar of de codeerder vanwege zijn prestaties. De Quick Sort werkt op de verdeel- en overwinningsregel. Dat betekent dat het de lijst verdeelt in twee en vervolgens twee lijsten die verder recursief in 4 zijn verdeeld, enzovoort. In dit artikel zullen we zien hoe de snelle sortering ook werkt met voorbeeldcode. We zullen ook zien hoe sneller het is in vergelijking met andere verschillende sorteeralgoritmen. We zullen de verschillende componenten van dit Quick Sort-algoritme zien.

Bewerkingen in snel sorteren

Er zijn drie hoofdbewerkingen in de snel-sorteer JavaScript:

  • Partitionering van een lijst: Divisie of de arraylijst met behulp van de divide and conquer. Dit is de eerste stap die we kunnen zeggen in deze sorteertechniek. Hiervoor hebben we een Pivot-element nodig (middelste element of dicht bij het middelste element).
  • Items verwisselen: dit is het hoofddoel van elk sorteeralgoritme om als uitvoer naar de lijst met wensen te komen. Dit is een mechanisme om de waarde van de ene naar de andere te vervangen. Bijvoorbeeld A = 10; B = 20; Als iemand vraagt ​​om te ruilen, is de waarde van A 20 en is de B 10.
  • Recursieve bewerking: dit speelt een grote rol in Quick Sort. Zoals de dingen steeds opnieuw doen is het niet zo veel mogelijk en betrouwbaar zonder de recursieve functie te hebben. Dit is iets dat een functie zichzelf noemt (dezelfde functie) om de klus te klaren. Dit speelt een grote rol waarbij we elke taak opnieuw en opnieuw uitvoeren met dezelfde aanpak en in dezelfde context.

Vergelijking van sorteeralgoritme

Er zijn verschillende soorten sorteeralgoritmen. Omdat JavaScript een programmeertaal is, ondersteunt het alle sorteeralgoritmen. Elk sorteeralgoritme heeft zijn voor- en nadelen. Hier is de lijst met sorteeralgoritmen en de prestaties en andere matrices:

Sorteeralgoritme Tijd Complexiteit
Beste geval Gemiddeld geval Het slechtste geval
Bubble SortΩ (N)Θ (N 2 )O (N 2 )
Selectie sorterenΩ (N 2 )Θ (N 2 )O (N 2 )
InvoegsorteringΩ (N)Θ (N 2 )O (N 2 )
Sorteren samenvoegenΩ (N log N)Θ (N log N)O (N log N)
Heap SortΩ (N log N)Θ (N log N)O (N log N)
Snel sorterenΩ (N log N)Θ (N log N)O (N 2 )

Zoals we in de lijst kunnen zien, is de QUICK-sortering sneller dan de Bubble Sort, Selection Sort, Insertion Sort in vergelijking.

Hoe snel sorteren werkt in JavaScript?

Stap 1 : Om het Pivot-element te krijgen - Bij elke Divide and Conquer speelt het selecteren van een juiste Pivot een cruciale rol. Dus meestal proberen we het middelste element van de array als een Pivot-element te krijgen. Dit is het element van waaruit we de enkele array in twee delen om het sorteren te verwerken.

Stap 2 : Start linkeraanwijzers als een eerste element van de invoerarray.

Stap 3 : Start juiste aanwijzers als laatste element van de invoerarray.

Stap 4 : Nu vergelijken we elementen aan de linkerwijzer met het geselecteerde draaielement en wisselen we de waarde indien nodig volgens de zakelijke vereisten. Vervolgens vergelijken we de juiste aanwijzer met het Pivot-element.

Stap 5: Verplaats beide naar de volgende. Alle bovenstaande stappen volgen steeds opnieuw met behulp van een recursieve aanpak.

Voorbeeld van snel sorteren in JavaScript

Dit is een functie om te zorgen voor de Quick Sort in JavaScript. Hierin zullen we de volledige lijst van de array als invoer doorgeven en de gesorteerde array als uitvoer krijgen.


Quick Sort in JavaScript

function quick_Sorting(array) (
if (array.length <= 1) (
return array; // if there is only one element then return the same
) else
(
var left = ();
var right = ();
var outputArray = ();
var pivot = array.pop();
var length = array.length;
for (var i = 0; i < length; i++) (
if (array(i) <= pivot) (
left.push(array(i));
) else (
right.push(array(i));
)
)
return outputArray.concat(quick_Sorting(left), pivot, quick_Sorting(right));
)
)
var myList = (3, 10, 2, 5, -5, 4, 7, 1);
alert("Input Array List: " + myList);
var sortedList = quick_Sorting(myList);
alert("Output Array List: " + sortedList);

Vanwege de verbluffende prestaties gebruikt de meeste coder deze sorteertechniek om de ingebouwde sorteerfunctionaliteit te implementeren. In verschillende programmeertalen is snel sorteren gebruikt vanwege de ingebouwde sorteerfunctionaliteit. Er zijn verschillende andere manieren om een ​​programma te schrijven om de Quick Sort-bewerkingen uit te voeren en alle functies komen samen tot een punt dat Divide and Conquer is. Deze verdeel en heers is dus een dreunregel die moet worden verwerkt met de Quick Sort in JavaScript. Niet alleen in JavaScript, maar ook in alle programmeertalen.

Output:

Aanbevolen artikelen

Dit is een gids voor Snel sorteren in JavaScript. Hier bespreken we hoe snel sorteren werkt in JavaScript, de bewerkingen en vergelijking van het sorteeralgoritme samen met het voorbeeld. U kunt ook de volgende artikelen bekijken voor meer informatie -

  1. Voorbeelden om Quick Sort in Java te implementeren
  2. Wat is Case Statement in JavaScript?
  3. Eigenschappen van samenvoegen Sorteren in JavaScript
  4. Soorten constructor in JavaScript
  5. Heap Sort in Python
  6. Ruilen in PHP
  7. Invoegsortering in JavaScript
  8. Recursieve functie in C
  9. Recursieve functie in JavaScript