Kas yra burbulų rūšiavimas?

Burbulų rūšiavimas arba nuslūgęs rūšiavimas yra algoritmas, kuris surūšiuoja sąrašus į eilę, naudodamas sąrašą, kad sukeistumėte ir palygintumėte elementus. Procesas gali vykti kelis kartus, kol sąrašas bus tinkama tvarka. Rūšis gavo savo pavadinimą dėl mažų elementų, kurie nuolat kyla į sąrašo viršūnę kaip burbuliukai gėrime. Jis dažniausiai naudojamas siekiant įvesti tvarką mažuose sąrašuose.

Burbulų rūšiavimas veikia metodiškai, pradedant nuo sąrašo viršaus. Pradės nuo pirmojo elemento palyginimo su antruoju ir, jei reikia, juos pakeis. Tada jis tęsis sąraše ir vėl apsikeis, kai suras kažką netvarkingo. Kiekvieną kartą, kai algoritmas atlieka apsikeitimą, procesas bus vėl paleistas iš sąrašo viršaus arba apačios.

Burbulų rūšiavimas yra iš rūšiavimo algoritmų palyginimo grupės. Šio tipo algoritmas vienu metu veikia du elementus, kiekviena pora po poros nustatydamas, kuri iš dviejų reikšmių yra didesnė arba ar jos lygios. Toks rūšiavimas gali suteikti ribotą duomenų rinkinio vaizdą, bet taip pat gali palengvinti to rinkinio elementų derinimą. Kiti palyginimo grupės algoritmų tipai apima greitą, sujungimą, kokteilių ir ciklo rūšiavimą.

Manoma, kad kitas paprastas palyginimo rūšiavimo algoritmas, vadinamas įterpimo tašku, veikia efektyviau, nors yra pagrįstas panašiai paprasta koncepcija. Užuot perrikiuojami elementai iš viršaus, jie įterpiami teisinga tvarka vienas kito atžvilgiu, kol visas rinkinys bus tinkamai sutvarkytas. Daugeliu atvejų ši rūšis pakeitė burbulų rūšiavimą tiek švietimo programose, tiek įprastai.

Nors burbulų rūšiavimo algoritmą lengva naudoti ir suprasti, jis paprastai yra praktiškas tik mažiems sąrašams. Greitis ir efektyvumas mažėja didėjant sąraše esančių elementų skaičiui. Daugeliui programuotojų taip pat sunku naudoti šį santykinai seną metodą su naujesnėmis kompiuterinėmis sistemomis, nes jis buvo sukurtas dar prieš egzistuojant šioms efektyvesnėms mašinoms.

Yra keletas metodų, kurie gali būti naudojami siekiant padidinti burbulų rūšiavimo efektyvumą. Atrodo, kad veiksmingiausias yra metodas, kai algoritmas veikia sklandžiau, jei didžiausi sąrašo elementai pateikiami proceso pradžioje. Įdiegus šią bazę, gali prireikti daug mažiau leidimų, kad užbaigtumėte likusio sąrašo užsakymą. Šį užsakymo būdą galima įrašyti į algoritmo kodą.