Johdanto Java-pikalajitteluun

Lajittelualgoritmi on yksi tärkeä osa tietorakennetta. Lajittelu on tapa järjestää tavararyhmä tietyllä tavalla. Aina kun keskustelemme nopeammista lajittelualgoritmeista, nopea lajittelu tulee peliin. Tämä on yksi suosituimmista lajittelumenetelmistä suoritusaikaa kohti. Tämä on suhteellisen parempi valinta mille tahansa kehittäjälle tai kooderille suorituskyvyn vuoksi. Pikalajittelu toimii jako- ja valloitussäännöllä. Tämä tarkoittaa, että se jakaa luettelon kahteen ja sitten kahteen luetteloon, jotka on edelleen jaettu neljään rekursiivisesti ja niin edelleen. Tässä artikkelissa näemme, kuinka nopea lajittelu toimii myös esimerkkikoodin kanssa. Näemme myös kuinka se on nopeampi verrattuna muihin erilaisiin lajittelualgoritmeihin. Näemme tämän nopean lajittelun algoritmin eri komponentit.

Toiminnot pikalajittelussa

Pikalajittelussa JavaScript on kolme päätoimintoa:

  • Luettelon osittainen jakaminen : Jako tai matriisilista jakamalla ja valloittamalla. Tämä on ensimmäinen askel, jonka voimme sanoa tässä lajittelumenetelmässä. Tätä varten meidän on Pivot-elementti (keskielementti tai lähellä keskielementtiä).
  • Kohteiden vaihto: Tämä on kaikkien lajittelualgoritmien päätarkoitus tulla halu-luetteloon tulosteena. Tämä on mekanismi lajitella korvaamaan arvo yhdestä toiseen. Esimerkiksi A = 10; B = 20; Jos joku pyytää vaihtamaan, A: n arvo on 20 ja B: n 10.
  • Rekursiivinen toiminta: Tällä on suuri rooli pikalajittelussa. Kun teet asioita uudestaan ​​ja uudestaan, se ei ole kovin mahdollista ja luotettavaa ilman rekursiivista toimintoa. Tämä on jotain itse funktion kutsusta (sama toiminto) työn suorittamiseksi. Tällä on suuri rooli, kun suoritamme kaikki tehtävät uudestaan ​​ja uudestaan ​​samalla lähestymistavalla ja samassa yhteydessä.

Lajittelualgoritmin vertailu

Lajittelualgoritmia on erityyppisiä. Koska JavaScript on ohjelmointikieli, se tukee kaikkia sen kanssa lajittelualgoritmeja. Jokaisella lajittelualgoritmilla on hyvät ja huonot puolensa. Tässä on luettelo lajittelualgoritmeista, niiden suorituskyvystä ja muista matriiseista:

Algoritmin lajittelu Ajan monimutkaisuus
Paras tapaus Keskimääräinen tapaus Pahimmassa tapauksessa
KuplalajitteluΩ (N)Θ (N 2 )O (N 2 )
Valinta LajitteleΩ (N 2 )Θ (N 2 )O (N 2 )
LisäyslajitteluΩ (N)Θ (N 2 )O (N 2 )
Yhdistä lajitteluΩ (N log N)Θ (N log N)O (N log N)
Heap SortΩ (N log N)Θ (N log N)O (N log N)
PikalajitteluΩ (N log N)Θ (N log N)O (N 2 )

Kuten luettelosta voimme nähdä, QUICK-lajittelu on nopeampaa kuin Bubble Sort, Selection Sort, Inserter Sort.

Kuinka nopea lajittelu toimii JavaScriptissä?

Vaihe 1 : Pivot-elementin hankkiminen - Kaikissa jako- ja valloitusvaihtoehdoissa oikean pivot-valinnalla on tärkeä rooli. Joten yleensä yritämme saada taulukon keskielementti Pivot-elementiksi. Tämä on elementti, josta jaamme yhden matriisin kahden rauhaan kahden lajittelun käsittelemiseksi.

Vaihe 2 : Käynnistä vasen osoitin syöttöryhmän ensimmäisenä elementtinä.

Vaihe 3 : Käynnistä oikeat osoittimet syöttöjoukon viimeisenä elementtinä.

Vaihe 4 : Nyt verrataan vasemman osoittimen osia valittuun kääntöelementtiin ja vaihdetaan arvo tarvittaessa liiketoimintavaatimusten mukaisesti. Sitten vertaamme oikeaa osoitinta Pivot-elementtiin.

Vaihe 5: Siirrä molemmat seuraavaan. Kaikki yllä olevat vaiheet seuraavat uudestaan ​​ja uudestaan ​​rekursiivista lähestymistapaa käyttämällä.

Esimerkki pikalajittelusta JavaScript-muodossa

Tämä on toiminto, joka huolehtii JavaScriptin pikalajittelusta. Tässä lähetämme täydellisen luettelon taulukosta syötteinä ja saamme lajiteltujen taulukon tulosteena.


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

Upean suorituskyvyn vuoksi suurin osa kooderista käyttää tätä lajittelutekniikkaa sisäänrakennetun lajittelutoiminnon toteuttamiseen. Eri ohjelmointikielissä on nopeaa lajittelua käytetty sen sisäänrakennettuun lajitteluominaisuuteen. On olemassa monia muita tapoja kirjoittaa ohjelma pikalajittelutoimintojen suorittamista varten ja kaikki toiminnot kohtaavat kohtaan, joka on Jaa ja valloita. Joten tämä Divide and Conquer on vakava sääntö käsitellä pikalajittelussa JavaScriptiä. Ei vain JavaScript: ssä, vaan myös kaikilla ohjelmointikielillä.

lähtö:

Suositellut artikkelit

Tämä on opas pikalajitteluun JavaScript-muodossa. Tässä keskustellaan siitä, kuinka nopea lajittelu toimii javascriptissä, sen toiminnoista ja lajittelualgoritmin vertailusta esimerkin kanssa. Voit myös katsoa seuraavia artikkeleita saadaksesi lisätietoja -

  1. Esimerkkejä pikalajittelun toteuttamiseen Java-sovelluksessa
  2. Mikä on oikeuskäytäntö JavaScriptissä?
  3. Yhdistämisen ominaisuudet Lajittele JavaScript
  4. Rakennustyypit JavaScript-sivustossa
  5. Heap Sort Pythonissa
  6. Vaihtaminen PHP: ssä
  7. Lisäys Lajittele JavaScriptiin
  8. Rekursiivinen toiminto C: ssä
  9. Rekursiivinen toiminto JavaScript: ssä