Skip to main content

Bubble sort for Singly Linked List Using Python

 When It's comes to sorting Linked list , it is not preferred to use Bubble sort, Because it is too Slow. but just for learning purpose we will take a look on Bubble Sort.

First You should check out Singly Linked List in Python for basic knowledge of linked list.

Now Let's Begin..

So as we know Bubble sort works by swapping elements.

  • Creating Node Class:

class Node:
def __init__(self, data=None):
self.data = data
self.next = None


  • Bubble sort:

class LinkedList:
def __init__(self):
self.head = None 
 
""" Bubble Sort"""
def bubbleSort(self):
cur = self.head
# print("head: ",self.head.data)
idx = None
if self.head == None:
return
else:
#this while loop won't stop until cur = None (last element)
while cur:
# taking next element in idx
idx = cur.next
# this while loop won't stop until idx = None
while idx:
# swap
if cur.data > idx.data:
cur.data, idx.data = idx.data, cur.data
idx = idx.next

cur = cur.next
  

Time Complexity: 

  • Best : Ω(n)
  • Average: Θ(n*n)
  • Worst: O(n*n)

Note: If you want to share your suggestion You can share in comments section,          Open for suggestion.

Thank You 😊😊

Other Sorting Algorithms:

Comments

Popular posts from this blog

Products Which I like

headphone Buy now Camera Buy now

What is Digital Root ?

 What is a Digital root? if you have done little competitive programming or practice for Data Structure or anything else you have got a problem where you need to sum all digits of the number and do this process until the number becomes a single-digit number. so that is Digital Root, let's talk about it.

Makefile

 You may have seen file named Makefile or you may have type command like make, make install. so what is this file Makefile and what are this command. let's discuss about it.