Suositeltava, 2024

Toimituksen Valinta

Erotus Bubble Sort ja Selection Sort

Lajittelu on yksi tärkeimmistä tehtävistä tietokoneohjelmissa, joissa ryhmän elementit on järjestetty johonkin tiettyyn järjestykseen. Lajittelu helpottaa hakua. Bubble sort and Selection lajittelu ovat lajittelualgoritmeja, jotka voidaan erottaa lajittelussa käytettävien menetelmien avulla. Bubble lajittelee olennaisesti elementit, kun taas valinta lajittelu suorittaa lajittelun valitsemalla elementin.

Toinen merkittävä ero näiden kahden välillä on se, että kuplamajoitus on vakaa algoritmi, kun taas valinnan lajittelu on epävakaa algoritmi. Algoritmin katsotaan olevan tasaisia ​​elementtejä, joilla on sama avain, samassa järjestyksessä kuin ne olivat tapahtuneet ennen lajittelua luettelossa tai ryhmässä. Yleensä vakaimmat ja nopeat algoritmit käyttävät lisämuistia.

Vertailukaavio

Vertailun perusteetBubble sort
Valinta lajitellaan
perustiedotVierekkäistä elementtiä verrataan ja vaihdetaanSuurin elementti valitaan ja vaihdetaan viimeisen elementin kanssa (nousevassa järjestyksessä).
Paras tapaustilan monimutkaisuusPäällä)O (n 2 )
tehokkuustehotonParannettu tehokkuus verrattuna kuplan lajitteluun
VakaaJooEi
MenetelmävaihtamallaValinta
NopeusHidasNopea verrattuna kuplan lajitteluun

Määritelmä Bubble Sort

Bubble sort on yksinkertaisin iteratiivinen algoritmi vertaamalla kutakin kohdetta tai elementtiä sen vieressä olevan kohteen kanssa ja vaihtamalla niitä tarvittaessa. Yksinkertaisesti sanottuna se vertaa luettelon ensimmäistä ja toista elementtiä ja vaihtaa sen, elleivät ne ole tietyssä järjestyksessä. Vastaavasti toista ja kolmatta elementtiä verrataan ja vaihdetaan, ja tämä vertailu ja vaihto tapahtuu luettelon loppuun. Vertailujen lukumäärä ensimmäisessä iteroinnissa on n-1, jossa n on ryhmän elementtejä. Suurin elementti olisi n: nnessä asemassa ensimmäisen iteroinnin jälkeen. Jokaisen iteraation jälkeen vertailujen määrä pienenee ja viimeisessä iteroinnissa tapahtuu vain yksi vertailu.

Tämä algoritmi on hitain lajittelualgoritmi. Bubble-lajittelun paras tapa-kompleksisuus (kun lista on järjestyksessä) on järjestyksessä n ( O (n) ), ja pahimmassa tapauksessa monimutkaisuus on O (n2) . Parhaassa tapauksessa se on järjestyksessä n, koska se vain vertaa elementtejä eikä vaihda niitä. Tämä tekniikka vaatii myös lisätilaa väliaikaisen muuttujan tallentamiseksi.

Valinnan lajittelu

Valintalajittelu on saavuttanut hieman paremman suorituskyvyn ja on tehokasta kuin kuplan lajittelualgoritmi. Oletetaan, että haluamme järjestää taulukon nousevassa järjestyksessä, niin se toimii löytämällä suurimman elementin ja vaihtamalla sen viimeiseen elementtiin ja toistamalla seuraavan prosessin aliryhmissä, kunnes koko lista on lajiteltu.

Valinnan lajittelussa lajiteltu ja lajittelematon ryhmä ei tee mitään eroa ja kuluttaa n2: n ( O (n2) ) järjestystä sekä parhaassa että pahimmassa tapauksessa. Valintaluokka on nopeampi kuin Bubble-lajittelu.

Bubble Sort ja Selection lajittelevat tärkeimmät erot

  1. Kuplan lajittelussa kukin elementti ja sen viereinen elementti verrataan ja vaihdetaan tarvittaessa. Toisaalta valinta lajittelu toimii valitsemalla elementti ja vaihtamalla kyseisen elementin viimeiseen elementtiin. Valittu elementti voi olla suurin tai pienin riippuen järjestyksestä eli nousevasta tai laskevasta.
  2. Pahimmassa tapauksessa monimutkaisuus on sama molemmissa algoritmeissa, eli O (n2), mutta paras monimutkaisuus on erilainen. Bubble lajittelu kestää n ajan, kun taas valinta lajittelee kuluttaa n2: n järjestystä.
  3. Bubble sort on vakaa algoritmi, sitä vastoin valinta lajittelu on epävakaa.
  4. Valintalajittelualgoritmi on nopea ja tehokas verrattuna hitaaseen ja tehottomaan kuplatyyppiin.

johtopäätös

Bubble-lajittelualgoritmia pidetään yksinkertaisimpana ja tehottomana algoritmina, mutta valinta lajittelualgoritmi on tehokas verrattuna kuplan lajitteluun. Bubble sort kuluttaa myös lisää tilaa väliaikaisen muuttujan tallentamiseen ja tarvitsee enemmän vaihtosopimuksia.

Top