Python-program til boblesortering
Bubble Sort er den enkleste sorteringsalgoritme, der fungerer ved gentagne gange at udskifte de tilstødende elementer, hvis de er i den forkerte rækkefølge.
Python-program til boblesortering
Den tilvejebragte Python kode implementerer Bubble Sort-algoritmen, som sorterer et array ved gentagne gange at sammenligne tilstødende elementer og bytte dem, hvis de er i den forkerte rækkefølge. Algoritmen itererer gennem arrayet flere gange, og hver gang skubber det største usorterede element til dets korrekte position i slutningen. Koden inkluderer en optimering: Hvis der ikke foretages swaps under et gennemløb, er arrayet allerede sorteret, og sorteringsprocessen stopper. Eksemplet initialiserer et array, anvender bubbleSort-funktionen til at sortere det og udskriver det sorterede array. Efter sortering er outputtet: [11, 12, 22, 25, 34, 64, 90], hvilket indikerer stigende rækkefølge.
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]: byttet = Sand arr[j], arr[j + 1] = arr[j + 1], arr[j] hvis ikke byttet: # hvis vi ikke har haft brug for at lave et enkelt bytte , vi # kan bare forlade hovedsløjfen. return # Driverkode for at teste over arr = [64, 34, 25, 12, 22, 11, 90] bubbleSort(arr) print('Sorteret array er:') for i i området(len(arr)): print('% d' % arr[i], end=' ') Produktion
Sorted array is: 11 12 22 25 34 64 90
Tidskompleksitet : På 2 ).
Hjælpeplads : O(1).
Se venligst hele artiklen vedr Boble sortering for flere detaljer!
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]>elementer[i + 1]: ombyttet = Sandt # udskiftning af data, hvis elementet er mindre end næste element i array-elementerne[i], elementer[i + 1] = elementer[i + 1], elementer[i], hvis det ikke er byttet : # afslutter funktionen, hvis vi ikke lavede en enkelt swap # hvilket betyder, at arrayet allerede er sorteret. return elementer = [39, 12, 18, 85, 72, 10, 2, 18] print('Usorteret liste er,') print(elementer) bubblesort(elements) print('Sorteret matrix er, ') print(elementer) Produktion
Unsorted list is, [39, 12, 18, 85, 72, 10, 2, 18] Sorted Array is, [2, 10, 12, 18, 18, 39, 72, 85]
Tidskompleksitet : På 2 ). Men i praksis kan denne optimerede version tage kortere tid, da funktionen ville vende tilbage, når array bliver sorteret.
Hjælpeplads : O(1).