Co je Bubble Sort?
Bublinové řazení nebo potápějící se řazení je algoritmus, který třídí seznamy do pořadí tím, že v rámci seznamu pracuje na výměně a porovnávání položek. Proces může proběhnout několikrát, než je seznam v pořádku. Třídit jeho jméno od malých prvků, které nepřetržitě stoupají na vrchol seznamu, jako jsou bubliny v nápoji. Používá se nejčastěji k tomu, aby se objednávka dostala do malých seznamů.
Třídění bublin funguje metodicky, od začátku seznamu. Začne porovnáním prvního prvku s druhým a podle potřeby se přepne. Poté bude pokračovat v seznamu a znovu provede výměnu, když zjistí, že něco není v pořádku. Pokaždé, když algoritmus provede výměnu, bude proces spuštěn znovu od horní nebo dolní části seznamu.
Bublinové druhy jsou ze srovnávací skupiny třídicích algoritmů. Tento typ algoritmu pracuje dva prvky najednou a určuje, ze dvou párů, která ze dvou hodnot je vyšší nebo pokud jsou stejné. Tento druh řazení může poskytnout omezený pohled na datovou sadu, ale může také usnadnit jemné doladění prvků této sady. Mezi další typy algoritmů ve srovnávací skupině patří druhy rychlých, slučovacích, koktejlových a cyklických.
Předpokládá se, že další jednoduchý porovnávací algoritmus řazení, který se nazývá kurzor, funguje efektivněji, zatímco je postaven na podobně jednoduchém konceptu. Spíše než položky, které se přesouvají shora, se vkládají ve správném pořadí vzhledem k sobě, dokud není celá sada správně uspořádána. V mnoha případech tento druh nahradil druh bublin ve vzdělávacích osnovách i běžném používání.
Ačkoli je algoritmus třídění bublin snadno použitelný a pochopitelný, má sklon být praktický pouze pro malé seznamy. Rychlost a efektivita klesá s nárůstem počtu položek na seznamu. Mnoho programátorů také obtížně používá tuto relativně starou metodu s novějšími počítačovými systémy, protože byla vytvořena před existencí těchto efektivnějších strojů.
Existuje několik metod, které lze použít ke zvýšení účinnosti třídění bublin. Nejúčinnější se jeví metoda, kde algoritmus funguje hladce, pokud jsou do seznamu zařazeny největší prvky seznamu. Tím, že má tuto základnu na svém místě, může trvat mnohem méně průchodů, než dokončí uspořádání zbytku seznamu. Tento způsob řazení lze zapsat do kódu algoritmu.