bubble sort java java sorting algorithms code examples
Tento výukový program vysvětlí bublinové řazení v Javě spolu s významným algoritmem řazení Java, implementací bublinového řazení a příklady kódu:
Algoritmus řazení lze definovat jako algoritmus nebo proceduru pro uvedení prvků kolekce do konkrétního pořadí. Například pokud máte číselnou sbírku jako ArrayList celých čísel, můžete chtít uspořádat prvky ArrayList ve vzestupném nebo sestupném pořadí.
Podobně můžete chtít uspořádat řetězce kolekce řetězců v abecedním nebo lexikografickém pořadí. To je místo, kde se do obrazu dostanou třídicí algoritmy v Javě.
jak nainstalovat soubor .bin
Co se naučíte:
Hlavní třídicí algoritmy v Javě
Algoritmy řazení jsou obvykle hodnoceny v závislosti na časové a prostorové složitosti. Java podporuje různé třídicí algoritmy, které se používají k řazení nebo uspořádání kolekcí nebo datových struktur.
Níže uvedená tabulka ukazuje hlavní třídicí algoritmy podporované v Javě spolu s jejich nejlepšími / nejhoršími složitostmi.
Časová složitost | ||||
---|---|---|---|---|
Radix Sort | Algoritmus lineárního třídění. | O (nk) | O (nk) | O (nk) |
Algoritmus řazení | Popis | Nejlepší případ | Nejhorší případ | Průměrný případ |
Řazení bublin | Opakovaně porovnává aktuální prvek se sousedními prvky. Na konci každé iterace probublává nejtěžší prvek na správném místě. | Na) | O (n ^ 2) | O (n ^ 2) |
Řazení vložení | Vloží každý prvek kolekce na správné místo. | Na) | O (n ^ 2) | O (n ^ 2) |
Sloučit třídění | Sleduje přístup rozděl a panuj. Rozdělí kolekci na jednodušší dílčí sbírky, roztřídí je a poté vše sloučí | O (nlogn) | O (nlogn) | O (nlogn) |
Rychlé třídění | Nejúčinnější a optimalizovaná technika třídění. K rozdělení kolekce používá rozdělení a dobývání. | O (nlogn) | O (n ^ 2) | O (nlogn) |
Výběr řazení | Najde nejmenší prvek v kolekci a na konci každé iterace jej umístíte na správné místo | O (N ^ 2) | O (N ^ 2) | O (N ^ 2) |
Třídění haldy | Prvky jsou tříděny sestavením min. Haldy nebo max. Haldy. | O (nlogn) | O (nlogn) | O (nlogn) |
Kromě třídicích technik uvedených ve výše uvedené tabulce podporuje Java také následující třídicí techniky:
- Třídění lopaty
- Počítání řazení
- Shell Sort
- Hřebenové třídění
Tyto techniky se ale v praktických aplikacích používají střídmě, takže tyto techniky nebudou součástí této série.
Pojďme diskutovat o technice Bubble Sort v Javě.
Řazení bublin v Javě
Bubble sort je nejjednodušší ze všech třídicích technik v Javě. Tato technika třídí kolekci opakovaným porovnáváním dvou sousedních prvků a jejich výměnou, pokud nejsou v požadovaném pořadí. Na konci iterace tedy probublává nejtěžší prvek, aby získal svou právoplatnou pozici.
Pokud je v seznamu A n prvků daných A (0), A (1), A (2), A (3),… .A (n-1), pak je A (0) porovnáno s A (1 ), A (1) se porovnává s A (2) atd. Po porovnání, pokud je první prvek větší než druhý, jsou dva prvky vyměněny, pokud nejsou v pořádku.
Algoritmus třídění bublin
Obecný algoritmus pro Bubble Sort Technique je uveden níže:
Krok 1: Pro i = 0 až N-1 opakujte krok 2
Krok 2: Pro J = i + 1 až N - opakuji
Krok 3: pokud A (J)> A (i)
Zaměnit A (J) a A (i)
(End of Inner for loop)
(Konec, pokud je vnější pro smyčku)
Krok 4: Výstup
Nyní si názorně ukážeme Bubble Sort Technique.
Vezmeme pole velikosti 5 a ilustrujeme algoritmus třídění bublin.
Třídit pole pomocí třídění podle bublin
Následující seznam je třeba setřídit.
nejlepší bezplatný firewall pro Windows 10 2018
Jak vidíte výše, pole je zcela tříděno.
Výše uvedený obrázek lze shrnout do tabulky, jak je uvedeno níže:
Složit | Nezařazený seznam | srovnání | Seřazený seznam |
---|---|---|---|
{3,6,11,4,15} | {11.4} | {3,6,4,11,15} | |
jeden | {11, 3, 6,15,4} | {11.3} | {3,11,6,15,4} |
{3,11,6,15,4} | {11,6} | {3,6,11,15,4} | |
{3,6,11,15,4} | {11,15} | {3,6,11,15,4} | |
{3,6,11,15,4} | {15,4} | {3,6,11,4,15} | |
dva | {3,6,11,4,15} | {3,6} | {3,6,11,4,15} |
{3,6,11,4,15} | {6.11} | {3,6,11,4,15} | |
3 | {3,6,4,11,15} | {3,6} | {3,6,4,11,15} |
{3,6,4,11,15} | {6.4} | {3,4,6,11,15} | |
{3,4,6,11,15} | TŘÍDĚNO |
Jak je znázorněno ve výše uvedeném příkladu, největší prvek proběhne při každé iteraci / průchodu do správné polohy. Obecně platí, že když dosáhneme N-1 (kde N je celkový počet prvků v seznamu), projde; budeme mít seřazený celý seznam.
Příklad kódu třídění bublin
Níže uvedený program ukazuje implementaci algoritmu třídění bublin v Javě. Zde udržujeme řadu čísel a používáme dvě smyčky pro procházení sousedními prvky pole. Pokud dva sousední prvky nejsou v pořádku, pak jsou zaměněny.
import java.util.*; class Main{ // Driver method to test above public static void main(String args()) { //declare an array of integers int intArray() = {23,43,13,65,11,62,76,83,9,71,84,34,96,80}; //print original array System.out.println('Original array: ' + Arrays.toString(intArray)); int n = intArray.length; //iterate over the array comparing adjacent elements for (int i = 0; i intArray(j+1)) { int temp = intArray(j); intArray(j) = intArray(j+1); intArray(j+1) = temp; } //print the sorted array System.out.println('Sorted array: ' + Arrays.toString(intArray)); } }
Výstup:
Původní pole: (23, 43, 13, 65, 11, 62, 76, 83, 9, 71, 84, 34, 96, 80)
Řaděné pole: (9, 11, 13, 23, 34, 43, 62, 65, 71, 76, 80, 83, 84, 96)
Často kladené otázky
Otázka č. 1) Jaké jsou třídicí algoritmy v Javě?
Odpovědět: Algoritmus řazení lze definovat jako algoritmus nebo postup, pomocí kterého lze prvky v kolekci objednat nebo uspořádat požadovaným způsobem.
Níže jsou uvedeny některé z třídicích algoritmů podporovaných v Javě:
- Řazení bublin
- Třídění vložení
- Třídění výběru
- Sloučit třídění
- Quicksort
- Radix třídění
- Heapsort
Otázka č. 2) Jaký je nejlepší třídicí algoritmus v Javě?
Odpovědět: Merge Sort má být nejrychlejším algoritmem třídění v Javě. Ve skutečnosti Java 7 interně používala sloučení pro implementaci metody Collections.sort (). Rychlé řazení je také dalším nejlépe třídícím algoritmem.
Otázka č. 3) Co je Bubble sort v Javě?
Odpovědět: Bubble sort je nejjednodušší algoritmus v Javě. Třídění bublin vždy porovná dva sousední prvky v seznamu a zamění je, pokud nejsou v požadovaném pořadí. Tedy na konci každé iterace nebo průchodu probublává nejtěžší prvek své správné místo.
Otázka č. 4) Proč je Bubble druh Ndva?
Odpovědět: Pro implementaci třídění bublin používáme dvě smyčky.
nejlepší stahovač mp3 pro Android bez reklam
Celková vykonaná práce se měří pomocí:
Množství práce provedené vnitřní smyčkou * celkový počet spuštění vnější smyčky.
Pro seznam n prvků funguje vnitřní smyčka pro O (n) pro každou iteraci. Vnější smyčka běží pro O (n) iteraci. Celková vykonaná práce je tedy O (n) * O (n) = O (ndva)
Otázka č. 15) Jaké jsou výhody druhu Bubble?
Odpověď: Výhody Bubble Sort jsou následující:
- Snadné kódování a pochopení.
- K implementaci algoritmu je potřeba několik řádků kódu.
- Třídění se provádí na místě, tzn. Není vyžadována další paměť, a tedy žádná režie paměti.
- Seřazená data jsou okamžitě k dispozici ke zpracování.
Závěr
Zatím jsme diskutovali o algoritmu řazení Bubble Sort v Javě. Rovněž jsme prozkoumali algoritmus a podrobnou ilustraci řazení pole pomocí techniky Bubble Sort Technique. Poté jsme implementovali program Java do Bubble Sort.
V dalším kurzu budeme pokračovat s dalšími třídicími technikami v Javě.
=> Zkontrolujte VŠECHNY výukové programy Java zde.
Doporučené čtení
- Výběr řazení v Javě - Algoritmus řazení a příklady výběru
- Insertion Sort In Java - Alserith Sort Algorithm & examples
- Řazení bublin v C ++ s příklady
- Jak řadit pole v Javě - návod s příklady
- Výukový program Java Array Length s příklady kódu
- Metoda MongoDB Sort () s příklady
- Unixový příkaz pro řazení se syntaxí, možnostmi a příklady
- Java „toto“ klíčové slovo: Výukový program s příklady kódu