Lajittelualgoritmien edut ja haitat

Kirjoittaja: John Pratt
Luomispäivä: 18 Tammikuu 2021
Päivityspäivä: 10 Saattaa 2024
Anonim
Lajittelualgoritmien edut ja haitat - Tiede
Lajittelualgoritmien edut ja haitat - Tiede

Sisältö

Sarjatuotteiden tilaaminen luettelosta on usein ohjelmoinnin tehtävä. Usein ihminen voi suorittaa tämän tehtävän intuitiivisesti. Tietokoneohjelman on kuitenkin noudatettava tarkkaa ohjeiden sarjaa sen suorittamiseksi, ja sitä sekvenssiä kutsutaan algoritmiksi. Tilausalgoritmi on menetelmä, jota käytetään järjestämättömien kohteiden luettelon sijoittamiseen tietyssä järjestyksessä. Tilausjärjestys määritetään avaimella. On olemassa useita lajittelualgoritmeja, jotka eroavat toisistaan ​​tehokkuuden ja suorituskyvyn suhteen. Joitakin tunnettuja ja tärkeitä tämäntyyppisiä ovat: kuplalajittelu, valintalajittelu, lisäyslajittelu ja pikalajittelu.

Kuplalaji

Kuplalajittelu vaihtaa toistuvasti vierekkäisiä elementtejä, jotka eivät ole järjestyksessä, ennen kuin koko luettelo tuotteista on peräkkäin. Tällä tavoin kohteet kelluvat luettelossa niiden arvojen mukaan, ja suurin (nousevassa järjestyksessä) menee loppuun jokaisen iteraation jälkeen.


Tämän algoritmin tärkein etu on, että sen käyttöönotto on helppoa ja tunnettua. Lisäksi kuplalajittelussa elementit vaihdetaan paikkoihin käyttämättä väliaikaista tallennustilaa, mikä tekee tilavaatimuksesta vähäisen. Suurin haitta on se, että se ei näytä hyviä tuloksia, kun luettelo sisältää monia kohteita. Tämä johtuu siitä, että tämäntyyppinen lajittelu vaatii n² käsittelyvaihetta jokaiselle n lajiteltavalle elementille. Siksi kuplalaji sopii akateemiseen koulutukseen, mutta ei tosielämän sovelluksiin.

Valintalaji

Valintalaji etsii toistuvasti kohteiden luetteloa valitsemalla yhden elementin kerrallaan ja sijoittamalla sen oikeaan kohtaan järjestyksessä.

Valintalajittelun tärkein etu on, että se toimii hyvin lyhyessä luettelossa. Lisäksi, koska se on paikkojen tilausalgoritmi, se ei tarvitse väliaikaista tallennustilaa pidemmälle kuin mitä on välttämätöntä alkuperäisen luettelon tallentamiseksi. Tärkein haittapuoli on sen alhainen hyötysuhde suurissa luetteloissa. Kuplalajittelun tavoin se vaatii n² askelmäärää kullekin n elementille. Lisäksi sen suorituskykyyn vaikuttaa helposti tuotteiden alkujärjestys ennen lajitteluprosessia. Tämän vuoksi tämä valintatyyppi sopii vain luetteloon, jossa muutama elementti on satunnaisessa järjestyksessä.


Lisälaji

Lisälajittelu skannaa luettelon toistuvasti ja lisää aina häiriöttömästä sekvenssistä kohteen oikeaan kohtaan.

Suurin etu lajittelulla lisäämisen avulla on sen yksinkertaisuus sen lisäksi, että se näyttää hyvän suorituskyvyn pienissä luetteloissa. Se on paikkatilausalgoritmi, joten tilantarve on minimaalinen. Haittana on, että se ei toimi yhtä hyvin kuin muut lajittelualgoritmit. Kun toimimiseen tarvitaan n² vaihetta, lisäyslajittelu ei myöskään toimi hyvin suurten luetteloiden kanssa. Se on kuitenkin erityisen hyödyllinen muutamien kohteiden luetteloiden kanssa.

Nopea lajittelu

Pikalajittelu toimii jakamisen ja valloituksen periaatteella. Ensinnäkin se jakaa tuoteluettelon kahteen alaluetteloon pivot-elementin perusteella. Kaikki ensimmäisen alaluettelon elementit on järjestetty siten, että ne ovat pienempiä kuin kääntö, kun taas kaikki toisen alaluettelon elementit on järjestetty suuremmiksi kuin kääntö. Sama osiointi- ja organisointiprosessi suoritetaan toistuvasti tuloksena olevissa alaluetteloissa, kunnes koko luettelo on järjestetty.


Jotkut pitävät pikalajittelua parhaana lajittelualgoritmina, koska sillä on merkittävä hyötysuhde, koska se toimii hyvin suuren luetteloluettelon kanssa. Tilaamalla paikan päällä ei myöskään tarvita lisätallennustilaa. Sen pieni haitta on, että sen huono suorituskyky on samanlainen kuin muiden edellä kuvattujen algoritmien keskimääräinen suorituskyky. On kuitenkin tärkeää huomata, että tämä pahin tapaus on hyvin harvinainen. Nopea lajittelu tuottaa tehokkaimman ja laajimmin käytetyn tavan järjestää minkä tahansa kokoinen luettelo.

Tukkeutuneet valtimo-oireet

Charles Brown

Saattaa 2024

Yhdyvalloia ydänairaudet ovat keki-ikäiten mieten ja naiten uurin kuolinyy. ydänairau voi olla monea muodoa, mutta yleiin yy on tukkeutuneet veriuonet, jotka etävät veren virt...

Naudan tuberkuloosin merkit ja oireet

Charles Brown

Saattaa 2024

Naudan tuberkulooi (Mycobacterium bovi) on bakteeriairau, joka vaikuttaa keuhkoihin. e on tarttuvaa ja kroonita heti, kun e on todettu. e vaikuttaa yleenä karjaan, mutta e voi levitä mihin t...

Kiehtovia Artikkeleita