Bubble Sort es el algoritmo de clasificación más simple que funciona intercambiando repetidamente los elementos adyacentes si están en el orden incorrecto.
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 swapped = False # 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 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] if not swapped: # if we haven't needed to make a single swap, we # can just exit the main loop. return # Driver code to test above 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=" ")
Producción
Sorted array is: 11 12 22 25 34 64 90
Complejidad del Tiempo : O(n 2 ).
Espacio Auxiliar : O(1).
¡ Consulte el artículo completo sobre Bubble Sort para obtener más detalles!
Python3
def bubblesort(elements): swapped = False # Looping from size of array from last index[-1] to index [0] for n in range(len(elements)-1, 0, -1): for i in range(n): if elements[i] > elements[i + 1]: swapped = True # swapping data if the element is less than next element in the array elements[i], elements[i + 1] = elements[i + 1], elements[i] if not swapped: # exiting the function if we didn't make a single swap # meaning that the array is already sorted. return elements = [39, 12, 18, 85, 72, 10, 2, 18] print("Unsorted list is,") print(elements) bubblesort(elements) print("Sorted Array is, ") print(elements)
Producción
Unsorted list is, [39, 12, 18, 85, 72, 10, 2, 18] Sorted Array is, [2, 10, 12, 18, 18, 39, 72, 85]
Complejidad del Tiempo : O(n 2 ). Sin embargo, en la práctica, esta versión optimizada puede tomar menos tiempo ya que cuando se ordena la array, la función regresa.
Espacio Auxiliar : O(1).
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA