Sisestus Sorteeri JavaScriptis - Täielik juhend sisestamiseks Sorteeri JavaScriptis

Lang L: none (table-of-contents):

Anonim

Sissejuhatus sisestamisse Sorteeri JavaScriptis

Sorteerimine on üks olulisi mõisteid, mida programmeerijad õpivad arvutiteaduse teekonna alustamiseks, sõltumata õppimiseks valitud programmeerimiskeelest. Sorteerimine aitab meil kiiremini ja mugavamalt leida sihtandmeid, mida tahame otsida, sorteerides neid kas kasvavas või kahanevas järjekorras.

Elementide ümberkorraldamiseks kasutatakse sortimisalgoritme, kus element võib olla number või string. Nende sorteerimismeetodil ja elementide sorteerimisel järgitaval lähenemisviisil põhinevaid sortimisalgoritme on mitut tüüpi ning igal tüübil on oma plussid ja miinused.

Selles ajaveebis keskendume sisestussortimisele, mis on tavaline sort, mida on lihtne mõista ja rakendada.

Mis on sisestamise sortimine JavaScriptis?

Sisestussorteerimine on lihtne ja hõlpsasti mõistetav algoritm, mis toimib kõige paremini väikese andmeloendiga, sorteerides andmeloendi iga elementi ükshaaval vasakult paremale. Seda nimetatakse ka võrdlussorteerimiseks, kus see võrdleb praegust väärtust teiste sorteeritavas loendis olevate teiste väärtustega. Iga elemendi õiges järjekorras andmeloendisse paigutamisel järgitakse iteratiivset lähenemisviisi.

Mida rohkem aega algoritmi sorteerimine võtab, öeldakse selle toimimist olevat halba ja andmete sortimiseks tuleb kaaluda mõnda muud algoritmi. Sisestussorteerimise ajaline keerukus on O (n²) või see kulutab ruutkeskmist aega, et sorteerida andmeloend halvimal juhul. See pole tavaliselt eriti tõhus ja seda ei tohiks suurte loendite korral kasutada. Tavaliselt edestab see väiksemates loendites tavaliselt keerukamaid algoritme, näiteks kiiret sortimist või ühinemist.

Sisestussorteerimine on enamasti tõhusam kui muud ruutkeskmised sortimisalgoritmid, näiteks mullide sortimine või valiku sortimine. Parimal juhul on aeg O (n) või lineaarne, mis ilmneb siis, kui sisendmassiiv on juba sorteeritud. Keskmiselt on sisestussorteerimise käitamisaeg endiselt ruutkeskmine.

Allpool toodud näites on meil lihtne kõrgetasemeline lähenemisviis massiivi andmestruktuuris salvestatud andmete sortimiseks ja selle sortimismeetodi abil andmete sortimiseks ilma algoritme rakendamata.

Näide - sisestamise sortimise algoritm

Kood:




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

Väljund:

Selgitus: Algoritmis oleme realiseerinud 2 silmuste jaoks, silmuse välimine peab itereerima üle massiivi elementide ja sisemist silmuse jaoks kasutatakse massiivi elementide sorteerimiseks nende väärtuse kasvavas järjekorras. Praegune muutuja hoiab massiivi praegust väärtust ja muutuja j seatakse üheks väärtuseks, mis on väiksem kui massiivi praegune indeksi positsioon. Kontrollime, kas praegune element (vool) on väiksem kui massiivi väärtus j- ndas positsioonis (unsortedData (j) ) ja kui see on tõene, sorteerime need väärtused.

1. iteratsioon - praegune (96): (96, 5, 42, 1, 6, 37, 21)

2. iteratsioon - praegune (5): (5, 96, 42, 1, 6, 37, 21)

3. kordamine - praegune (42): (5, 42, 96, 1, 6, 37, 21)

4. iteratsioon - praegune (1): (1, 5, 42, 96, 6, 37, 21)

Iteratsioon 5 - praegune (6): (1, 5, 6, 42, 96, 37, 21)

6. iteratsioon - praegune (37): (1, 5, 6, 37, 42, 96, 21)

7. iteratsioon - praegune (21): (1, 5, 6, 21, 37, 42, 96)

Silmuse iteratsiooni välimine algab indeksi esimesest positsioonist, kuna tahame väikseimat elementi vasakule küljele nihutada, nii et võrdleme, kas praegune element on väiksem kui vasakul küljel olevad elemendid.

Sorteerimise tüübid

Andmete sortimiseks kasutatavad algoritmid hõlmavad järgmisi mõisteid või ideesid andmete sorteerimisel:

  • Võrdlus mittevõrdluspõhiste strateegiatega,
  • Iteratiivne versus rekursiivne rakendamine,
  • Paradigma jaga ja vali (see või teine),
  • Juhuslik lähenemine.

Vaatleme mõnda näidet:

1. Sorteerimise ühendamisel kasutatakse massiivi elementide sortimiseks jagamise ja vallutamise meetodit.

2. Sisestussorteerimine, mullide sortimine on võrdluspõhine sortimine.

Andmete sortimisel on keerukatele probleemidele optimaalseima lahenduse leidmine lihtsam. näiteks,

  • Otsides konkreetset väärtust,
  • Minimaalse või maksimaalse väärtuse leidmine,
  • Unikaalsuse testimine ja duplikaatide kustutamine,
  • Loendatakse, mitu korda konkreetne väärtus on ilmunud jne.

Järeldus

Selles artiklis oleme läbi vaadanud sisestussorteerimise ja selle aja keerukuse ning mitmesugused muud sortimisalgoritmi tüübid nende lähenemisviisi põhjal. Erinevate sortimisalgoritmide uurimine aitab meil tuvastada, milline neist sobib teatud olukordades paremini, või kasutada juhtumeid, mis aitavad meil andmeid kiiremini sorteerida.

Soovitatavad artiklid

See on juhend sisestamise sortimiseks JavaScripti. Siin arutame näitega, mis on javascriptis sisestamise sort ja selle tüübid. Lisateabe saamiseks võite vaadata ka järgmisi artikleid -

  1. Mustrid JavaScriptis
  2. Juhtumi avaldus JavaScriptis
  3. Tingimuslikud avaldused JavaScriptis
  4. JavaScripti objektid
  5. Erinevat tüüpi silmused koos selle eelistega