## Bubble Sort in Python

The basic idea behind bubble sort is to compare the first element in array to second element .

Compare the second element to the third element if greater swap the elements.

Compare the third element to the fourth element if greater swap the elements.

Do until the array is sorted.

The Python code for bubble sort.

**import numpy as np**

**a=[10,5,-1,6,7,15,20,16,15,18]**

**for i in np.arange(10):**

**for j in np.arange(10-i-1):**

**if a[j] > a[j+1]:**

**s=a[j]**

**a[j]=a[j+1]**

**a[j+1]=s**

**print(a)**

Output of the program would be

[-1, 5, 6, 7, 10, 15, 15, 16, 18, 20]

## Explanation of Program

The statement “import numpy as np” imports numpy module and rename as np.

The statement a=[10,5,-1,6,7,15,20,16,15,18] initialize an array a.

The statement “for i in np.arange(10):” is for passes in bubble sort.

The statement “for j in np.arange(10-i-1):” is for number of comparisons.

The statement “if a[j] > a[j+1]:” compares the adjucent elements in array.

The statements “s=a[j] a[j]=a[j+1] a[j+1]=s” swaps the value of a[j] to a[j+1] if the above statement is true.

The statement “print(a)” prints the sorted array.

## Time Complexity of the Bubble Sort Algorithm

If there are n elements in an array then.

The first pass will require (n-1) comparisons.

The the second pass will require (n-2) comparisons.

The third pass will require (n-3) comparisons.

. . . . . . .

. . . . . . .

. . . . . . .

The last pass will require only one pass.

Then the total number of comparisons

=(n-1)+(n-2)+(n-3)+ (n-4)+…………..+1= n(n-1)/2= O(n^{2})

Then the complexity of bubble sort is O(n^{2}).

**Conclusion**

Before making bubble sort in Python program you must have made in C/C++ or in Java. However, it is easy way to learn a programming language, to make the same programs what you have built in other languages.

## Be the first to comment on "Bubble Sort in Python"