Vsebina
Razvrščanje niza postavk na seznamu je pogosta naloga pri programiranju. Pogosto lahko človek to nalogo opravi intuitivno. Vendar pa mora računalniški program slediti natančnemu zaporedju navodil, da ga dokonča, in to zaporedje se imenuje algoritem. Algoritem za razvrščanje je metoda, ki se uporablja za postavitev seznama neorganiziranih postavk v določenem vrstnem redu. Zaporedje naročanja se določi s ključem. Obstaja več algoritmov za sortiranje, ki se razlikujejo po učinkovitosti in učinkovitosti. Nekateri znani in pomembni za to vrsto so: razvrščanje mehurčkov, razvrščanje glede na izbiro, vrsta vstavljanja in hitra vrsta.
Veliko elementov lahko naročite z algoritmom (Thinkstock / Comstock / Getty Images)
Bubble sort
Razvrščanje mehurčkov večkrat zamenja sosednje elemente, ki niso v redu, dokler ni vsak seznam elementov v zaporedju. Na ta način postavke na seznamu nihajo glede na njihove vrednosti, največje (v primeru naraščajočega reda), ki se konča na koncu vsake ponovitve.
Glavna prednost tega algoritma je, da je njegovo izvajanje enostavno in znano. Poleg tega se v razvrščanju mehurčkov elementi zamenjajo brez uporabe začasnega pomnilnika, zaradi česar je zahteva po prostoru minimalna. Glavna pomanjkljivost je dejstvo, da ne kaže dobrih rezultatov, ko seznam vsebuje veliko elementov. To je zato, ker ta vrsta naročanja zahteva n2 korakov obdelave za vsako število n elementov, ki bodo razvrščeni. Zato je razvrščanje mehurčkov označeno za akademsko poučevanje, vendar ne za realne aplikacije.
Izbira vrste
Izbira vrste ponavlja seznam elementov tako, da izbere en element naenkrat in ga postavi v pravilen položaj zaporedja.
Glavna prednost sortne sorte je, da dobro deluje na majhnem seznamu. Poleg tega, ker gre za algoritem za urejanje krajev, ne potrebuje začasnega shranjevanja, ki presega tisto, kar je potrebno za shranjevanje izvirnega seznama. Glavna pomanjkljivost je nizka učinkovitost v velikih seznamih. Podobno kot sorta mehurčkov zahteva n2 število korakov za vsak n elementov. Poleg tega na njegovo uspešnost zlahka vpliva začetni vrstni red postavk pred postopkom pregleda. Zaradi tega je ta vrsta izbire primerna samo za seznam, kjer je nekaj elementov v naključnem vrstnem redu.
Vrsta vstavljanja
Vnos sort razvrsti seznam večkrat in vsakič vstavi element neurejenega zaporedja v pravilen položaj.
Glavna prednost urejanja vstavljanja je njegova preprostost in dobro delovanje na majhnih seznamih. Gre za algoritem za urejanje prostora, zato je prostorska zahteva minimalna. Slaba stran je, da ne deluje tako dobro kot drugi algoritmi razvrščanja. Z n2 koraki, potrebnimi za delo, vstavljanje sort ne deluje dobro z velikimi seznami. Vendar pa je to še posebej uporabno s seznami nekaj postavk.
Hitro razvrščanje
Hitro razvrščanje deluje po načelu delitve in osvajanja. Prvič, seznam elementov deli na dva pod-seznama, ki temeljijo na vrtilnem elementu. Vsi elementi v prvem pod-seznamu so urejeni tako, da so manjši od osi, medtem ko so vsi elementi v drugem pod-seznamu razporejeni tako, da so večji od osi. Enak proces particioniranja in organiziranja se izvede večkrat v nastalih podsektorjih, dokler ni organiziran celoten seznam.
Nekateri hitro štejejo, da je najboljši algoritem za razvrščanje, ker ima pomembno prednost v smislu učinkovitosti, saj dobro deluje z velikim seznamom postavk. Z naročilom na kraju samem tudi ni potrebe po dodatnem prostoru za shranjevanje. Majhna pomanjkljivost je, da je njena najslabša zmogljivost podobna povprečni zmogljivosti zgoraj opisanih drugih algoritmov. Vendar je pomembno omeniti, da je ta najhujši primer zelo redka. Bolj splošno, hitra vrsta proizvaja najbolj učinkovit in široko uporabljen način organizacije seznama vseh velikosti.