Uvod v Razvrsti vstavljanje v JavaScript
Razvrščanje je eden pomembnih konceptov, ki se ga programerji naučijo začeti na poti v računalništvu, ne glede na programski jezik, izbran za učenje. Razvrščanje nam pomaga hitreje in priročneje najti ciljne podatke, ki jih želimo iskati, tako da jih razvrstimo v naraščajočem ali padajočem vrstnem redu.
Algoritmi za razvrščanje se uporabljajo za preureditev elementov, kjer je element lahko število ali niz. Obstaja veliko vrst algoritmov za razvrščanje, ki temeljijo na njihovi metodi razvrščanja in pristopu, ki mu sledijo pri razvrščanju elementov, vsaka vrsta pa ima svoje prednosti in slabosti.
V tem blogu se bomo osredotočili na vrsto vstavljanja, skupno vrsto, ki jo je enostavno razumeti in izvajati.
Kaj je razvrstitev vstavka v JavaScript?
Razvrščanje vstavkov je preprost, razumljiv algoritem, ki najbolje deluje z majhnim seznamom podatkov, tako da vsak element na seznamu podatkov razvrstite enega za drugim od leve proti desni. Znan je tudi kot primerjalna vrsta, kjer primerja trenutno vrednost z drugimi vrednostmi na istem seznamu podatkov, ki je razvrščen. Sledi iterativni pristop, da vsak element postavite v pravi vrstni red na seznam podatkov.
Čim več časa algoritem razvrsti, njegova uspešnost naj bi bila slaba in za razvrščanje podatkov je treba razmisliti o drugem algoritmu. Vstavljanje vrst ima časovno zapletenost O (n²) ali teče kvadratno čas, da razvrsti seznam podatkov po najslabšem primeru. To običajno ni zelo učinkovito in ga ne bi smeli uporabljati za velike sezname. Vendar ponavadi na manjših seznamih presega napredne algoritme, kot sta quicksort ali spajanje.
Vstavljanje vrst je večino časa bolj učinkovito kot drugi algoritmi za kvadratno razvrščanje, na primer sortiranje mehurčkov ali izbira. Njegov najboljši scenarij je čas O (n) ali linearni, kar nastopi, če je vhodni niz že razvrščen. V povprečju je čas izvajanja vrste vstavljanja še vedno kvadraten.
V spodnjem primeru bomo imeli enostaven pristop na visoki ravni za razvrščanje podatkov, shranjenih v strukturi podatkov matrike, in uporabili njegov način razvrščanja, ne da bi pri tem uporabili algoritme.
Primer - Algoritem razvrščanja vstavka
Koda:
// Declaring unsorted data and storing it in array data structure
var dataArray = (96, 5, 42, 1, 6, 37, 21) // Function - Insertion Sort Algo.
function insertSort(unsortedData) (
for (let i = 1; i < unsortedData.length; i++) (
let current = unsortedData(i);
let j;
for(j=i-1; j >= 0 && unsortedData(j) > current;j--) (
unsortedData(j + 1) = unsortedData(j) )
unsortedData(j + 1) = current;
)
return unsortedData;
)
// print sorted array
console.log(insertSort(dataArray));
Izhod:
Pojasnilo: V algoritmu smo implementirali 2 za zanke, zunanja zanka je iterati nad elementi matrike, notranja za zanko pa se razvrsti matrični elementi v naraščajočem vrstnem redu njihove vrednosti. Trenutna spremenljivka ima trenutno vrednost matrike, spremenljivka j pa je nastavljena na eno vrednost, manjšo od trenutnega položaja indeksa matrike. Preverimo, ali je trenutni element (trenutni) manjši od vrednosti matrike na j . Položaju (unsortedData (j) ) in če je res, potem te vrednosti razvrstimo.
Iteracija 1 - tok (96): (96, 5, 42, 1, 6, 37, 21)
Iteracija 2 - tok (5): (5, 96, 42, 1, 6, 37, 21)
Iteracija 3 - tok (42): (5, 42, 96, 1, 6, 37, 21)
Iteracija 4 - tok (1): (1, 5, 42, 96, 6, 37, 21)
Iteracija 5 - tok (6): (1, 5, 6, 42, 96, 37, 21)
Iteracija 6 - tok (37): (1, 5, 6, 37, 42, 96, 21)
Iteracija 7 - trenutna (21): (1, 5, 6, 21, 37, 42, 96)
Zunanja stran za iteracijo v zanki se začne na prvem indeksnem položaju, saj želimo najmanjši element premakniti na levo stran, zato primerjamo, ali je trenutni element manjši od elementov na njegovi levi strani.
Vrste razvrščanja
Vrste algoritmov, ki se uporabljajo za razvrščanje podatkov, zajemajo naslednje koncepte ali ideje v svojem pristopu k razvrščanju podatkov:
- Primerjava in neprimerljive strategije,
- Iterativno in rekurzivno izvajanje,
- Paradigma razdelite in osvojite (to ali ono),
- Naključni pristop.
Poglejmo nekaj primerov:
1. Razvrsti združevanje uporablja razdelitev in osvojitev razvrstitve elementov v matriki.
2. Razvrščanje vstavka, Razporeditev mehurčkov je sorta na osnovi primerjave.
Ko so podatki razvrščeni, lažje pride do optimalne rešitve zapletenih težav. na primer
- Iskanje določene vrednosti,
- Poišči najnižjo ali največjo vrednost,
- Testiranje edinstvenosti in brisanje dvojnikov,
- Štetje, kolikokrat se je določena vrednost pojavila itd.
Zaključek
V tem članku smo preučili definicijo vrste vstavljanja in njene časovne zapletenosti ter različne druge vrste algoritmov za razvrščanje glede na njihov pristop. Preučevanje različnih algoritmov razvrščanja nam pomaga ugotoviti, kateri je v določenih okoliščinah bolj primeren ali uporabiti primere, ki nam pomagajo pri hitrejšem razvrščanju podatkov.
Priporočeni članki
To je vodnik za Razvrsti vstavljanje v JavaScript. Tukaj razpravljamo o tem, kaj je vrsta vstavljanja v javascriptu in njegove vrste s primerom. Če želite izvedeti več, si oglejte tudi naslednje članke -
- Vzorci v JavaScript
- Izjava primera v JavaScript
- Pogojne izjave v JavaScript
- Predmeti JavaScript
- Različne vrste zank z njegovimi prednostmi