Bubble Sort
Bubble Sort
••
Bubble Sort is the simplest sorting algorithm that works by repeatedly swapping the
adjacent elements if they are in the wrong order. This algorithm is not suitable for
large data sets as its average and worst-case time complexity are quite high.
• We sort the array using multiple passes. After the first pass, the maximum
element goes to end (its correct position). Same way, after second pass, the
second largest element goes to second last position and so on.
• In every pass, we process only those elements that have already not moved
to correct position. After k passes, the largest k elements must have been
moved to the last k positions.
• In a pass, we consider remaining elements and compare all adjacent and
swap if larger element is before a smaller element. If we keep doing this,
we get the largest (among the remaining elements) at its correct position.
How does Bubble Sort Work?
Below is the implementation of the bubble sort. It can be optimized by
stopping the algorithm if the inner loop didn’t cause any swap.
# Optimized Python program for implementation of Bubble Sort
Def bubbleSort(arr):
N = len(arr)
For I in range(n):
Swapped = False
Swapped = True
If (swapped == False):
Break
If __name__ == “__main__”:
bubbleSort(arr)
print(“Sorted array:”)
for I in range(len(arr)):
Output
Sorted array:
11 12 22 25 34 64 90
It is a stable sorting algorithm, meaning that elements with the same key value maintain
their relative order in the sorted output.
Bubble sort has a time complexity of O(n2) which makes it very slow for large data sets.