Skip to main content

Quicksort Algorithm and Data structure in PYTHON

 So, now what is Quicksort ?

Quicksort, or partition-exchange sort, is a sorting algorithm developed by Tony Hoare that, on average, makes O comparisons to sort n items. In the worst case, it makes O comparisons, though this behavior is rare. Quicksort is often faster in practice than other O algorithms. Additionally, quicksort's sequential and localized memory references work well with a cache. Quicksort is a comparison sort and, in efficient implementations, is not a stable sort. Quicksort can be implemented with an in-place partitioning algorithm, so the entire sort can be done with only O additional space used by the stack during the recursion.


Properties of Quicksort :-

The quick sort is an in-place, divide-and-conquer, massively recursive sort algorithm. The efficiency of the algorithm is majorly impacted by which element is chosen as the pivot point. The worst-case efficiency of the quick sort is o (n²) when the list is sorted and left most element is chosen as the pivot.

ALGORITHM OF QUICKSORT :-

1.) First of all, make an element pivot and sort the list with respect to this                        pivot element.

2.) Now, let we chose the first element as pivot and name the second element as         "low" and last element as "high".

3.) Now, name low as "i" and high as "j". 

4.) Look at i and compare it with pivot, if it is greator then stop, if it is smaller than         pivot move on to right next element and again watch it is greator or smaller than      pivot and do the same procedure.

5.) When we get the greator element than pivot while moving right stop at that point.

6.) Now, look at j and see it is greator or smaller, if greator than move left, if smaller      then stop.

7.) When we get the smaller element than pivot while moving left, stop there.

8.) Now, previously we have stopped at greator and now stopped at smaller.

9.) At this point swap the greator and smaller with each other.

10.) Run this loop again and again until we get i > j. At this point stop all the loops.

11.) Now, we get i > j, at this point swap pivot element and j th element with each           other.

12.) Use recursion to run this function again and again and at last we get the sorted         list.

13.) Our list is sorted now.


DATA STRUCTURE OF QUICKSORT IN PYTHON :-







So this the algorithm and data structure of Quicksort in PYTHON programming language. If you want to learn more sorting algorithm go to my previous blogs and you can find there.

Hope you understood this topic, Please share it with you friend and help them learning python.




John Veer
Contact mail id - john.veer.utube@gmail.com
Contact for any query!
Thanks for reading !
</ >

Comments

Popular posts from this blog

First Python Programme

  If you are here, then I think you are a python enthusiast. On this website, we upload daily posts on new and basic programme for beginners.  So let’s start with the first code i.e. Hello World programme. So first of all you you should know how to give print command in python. To print we write print(“Hello World”). What’s inside the small brackets will be printed. So the programme is : print("Hello World") Hello World So, as we can see above, when we implemented the print command, the thing between the small bracket is printed. So let’s see some other examples In this example, we will store an integer value in a variable. And then print the integer will the help,of that variable. So let’s get started a = 3 print(a) 3 Another example Now we will store a string into a variable and then print the string with the help of that variable #if we put hastag in front of any line in python. Then there is no effect. #for storing the string in a variable, we have to enclose the whole s...

Doubly Linked List in PYTHON

  Here is the Python code for the Doubly Linked List :- #first of all creat a class node class Node :     def __init__ ( self , data ):         self . data = data         self . next = None         self . prev = None #now create a class of doubly linked list class DLL :     def __init__ ( self ):         self . head = None #function to insert the node at begining     def insertatbeg ( self , data ):         newnode = Node ( data )         newnode . prev = None         newnode . next = self . head         self . head = newnode #function to insert the node at the end     def insertatend ( self , data ):         newnode = Node ( data )         if self . head is None :             self . head ...

Queues in PYTHON

  The Python Code for Queue is here :- class Node: def __init__(self, data): self.data = data self.next = None class Queue: def __init__(self): self.front = self.rear = None def enqueue(self, data): newnode = Node(data) newnode.next = self.rear self.rear = newnode if self.front is None: self.front = newnode def dequeue(self): temp = self.rear while temp.next is not self.front: temp = temp.next self.front = temp temp.next = None def traverse(self): temp = self.rear while temp is not None: print(temp.data, end = " --> ") temp = temp.next print("None") new = Queue() new.enqueue(4) new.enqueue(1) new.enqueue(0) new.enqueue(2) new.traverse() new.dequeue() new.traverse() new.dequeue() new.traverse() 2 --> 0 --> 1 --> 4 --> None 2 --> 0 --> 1 --> None 2 ...