Razvrstavanje mjehurića i Umetanje vrsta
Bubble Sort je algoritam za razvrstavanje koji djeluje prolazeći kroz popis koji će se sortirati više puta, uspoređujući parove susjednih elemenata. Ako je par elemenata u pogrešnom redoslijedu, zamjenjuju se tako da ih postave u ispravnom redoslijedu. Ovaj se potez ponavlja sve dok više nisu potrebne zamjene. Umetanje vrsta je i algoritam za razvrstavanje, koji djeluje tako da umetne element u popis ulaza na ispravan položaj u popis koji je već sortiran. Ovaj se postupak primjenjuje više puta dok se popis ne razvrsta.
Što je Bubble Sort?
Bubble Sort je algoritam za razvrstavanje koji djeluje prolazeći kroz popis koji će se sortirati više puta, uspoređujući parove susjednih elemenata. Ako je par elemenata u pogrešnom redoslijedu, zamjenjuju se tako da ih postave u ispravnom redoslijedu. Ovaj se potez ponavlja sve dok više nisu potrebne zamjene (što znači da je popis razvrstan). Budući da manji elementi na popisu dolaze do vrha dok mjehurić izlazi na površinu, dat je naziv vrsta mjehurića. Bubble Sort vrlo je jednostavan algoritam sortiranja, ali ima prosječnu složenost slučaja O (n2) pri sortiranju popisa s n elemenata. Zbog toga vrsta mjehurića nije prikladna za sortiranje popisa s velikim brojem elemenata. Ali zbog svoje jednostavnosti, podvrgavanje mjehurićima podučava se tijekom uvoda u algoritme.
Što je vrsta umetanja?
Umetanje sortiranje je drugi algoritam sortiranja, koji djeluje tako da unosi u element u popis ulaza točan položaj na popisu (koji je već sortiran). Ovaj se postupak primjenjuje više puta dok se popis ne razvrsta. Kod umetanja sortiranje se provodi na mjestu. Stoga će nakon iteracije algoritma prvi i + 1 unosi na popisu biti razvrstani, a ostatak popisa poništeni. Pri svakoj iteraciji prvi će se element u nepotvrđenom dijelu popisa preuzeti i unijeti na točno mjesto u razvrstanom dijelu popisa. Umetanje vrsta ima prosječnu složenost slučaja O (n2). Zbog toga vrsta umetanja također nije prikladna za razvrstavanje velikih popisa.
Koja je razlika između Bubble Sort i Insertion Sort?
Iako i algoritmi za sortiranje i mjehurići sortiranja imaju prosječnu složenost slučaja O (n2), sorta mjehurića gotovo je cijelo vrijeme nadmašena vrstom umetanja. To je zbog broja zamjena potrebnih dvaju algoritama (mjehurići vrsta trebaju više zamjena). Ali zbog jednostavnosti sortiranja mjehurića, njegova veličina koda je vrlo mala. Također postoji i varijanta umetanja vrsta nazvana vrsta ljuske koja ima vremensku složenost O (n3 / 2), što bi omogućilo njezinu praktičnu upotrebu. Nadalje, umetanje sortiranje je vrlo učinkovito za sortiranje "gotovo sortiranih" popisa, u usporedbi s mjehurićima.