logo

Program Python pro Bubble Sort

Bubble Sort je nejjednodušší třídicí algoritmus, který funguje tak, že opakovaně zaměňuje sousední prvky, pokud jsou ve špatném pořadí.

převod řetězce na datum

Program Python pro Bubble Sort

Poskytnuté Krajta kód implementuje algoritmus Bubble Sort, který třídí pole opakovaným porovnáváním sousedních prvků a jejich záměnou, pokud jsou ve špatném pořadí. Algoritmus prochází polem několikrát, přičemž každý průchod posune největší neseřazený prvek do správné polohy na konci. Kód obsahuje optimalizaci: pokud během průchodu neproběhnou žádné swapy, pole je již roztříděno a proces řazení se zastaví. Příklad inicializuje pole, použije funkci bubbleSort k jeho řazení a vytiskne seřazené pole. Po seřazení je výstup: [11, 12, 22, 25, 34, 64, 90], indikující vzestupné pořadí.

Python3
# Python program for implementation of Bubble Sort def bubbleSort(arr): n = len(arr) # optimize code, so if the array is already sorted, it doesn't need # to go through the entire process # Traverse through all array elements for i in range(n-1): # range(n) also work but outer loop will # repeat one time more than needed. # Last i elements are already in place swapped = False for j in range(0, n-i-1): # traverse the array from 0 to n-i-1 # Swap if the element found is greater # than the next element if arr[j]>arr[j + 1]: swapped = True arr[j], arr[j + 1] = arr[j + 1], arr[j], pokud není prohozen: # pokud jsme nepotřebovali provést jediný swap , můžeme # jen opustit hlavní smyčku. return # Kód ovladače k ​​otestování výše arr = [64, 34, 25, 12, 22, 11, 90] bubbleSort(arr) print('Sorted array is:') for i in range(len(arr)): print('% d' % arr[i], end=' ')>

Výstup
Sorted array is: 11 12 22 25 34 64 90>

Časová složitost : O(n2).
Pomocný prostor : O(1).



jejda

Přečtěte si prosím celý článek na Bublinové řazení Více podrobností!

Python3
def bubblesort(elements): # Looping from size of array from last index[-1] to index [0] for n in range(len(elements)-1, 0, -1): swapped = False for i in range(n): if elements[i]>prvky[i + 1]: swapped = True # swapování dat, pokud je prvek menší než další prvek v poli prvky[i], prvky[i + 1] = prvky[i + 1], prvky[i], pokud nejsou zaměněny : # opuštění funkce, pokud jsme neprovedli jediný swap # což znamená, že pole je již seřazeno. return elements = [39, 12, 18, 85, 72, 10, 2, 18] print('Netříděný seznam je,') print(prvky) bubblesort(elements) print('Sorted Array is, ') tisk (prvky)>

Výstup
Unsorted list is, [39, 12, 18, 85, 72, 10, 2, 18] Sorted Array is, [2, 10, 12, 18, 18, 39, 72, 85]>

Časová složitost : O(n2). V praxi však tato optimalizovaná verze může trvat méně času, protože když se pole seřadí, funkce se vrátí.
Pomocný prostor : O(1).