Skip to main content

Merge Sort Algorithm in PYTHON

 First of all, Why do we need to learn so many sorting algorithms?

We need to learn so many sorting algorithms because there are cases in which which algorithm fits best. According to the time complexity, we have to choose an algorithm of our use. That's why we are learning so many sorting algorithms.


SO LETS START WITH THE MERGE SORT

In computer science, merge sort (also commonly spelled as mergesort) is an efficient, general-purpose, and comparison-based sorting algorithm. Most implementations produce a stable sort, which means that the order of equal elements is the same in the input and output. It is one of the most popular algorithms and one of the most stable sorting algorithm.


ALGORITHM

1.) First of all take a list and put it in a function (recursion) that it breaks itself into two halves.

2.) When we get the two halves, the recursion code will automatically breaks the two halves into four          parts and then into 8 parts until each list contains a single element.

3.) Then compare the first element with the next element and put the smaller one into our original list          and compare the next element with it and put in the original list accordingly.

4.) Now run a loop to find if some element left uncompared. Put them in the original list accordingly.

5.) Run a print function to print all the elements.

DATA  STRUCTURE






So, this was simple algorithm and data structure of MERGE SORT. Hope you understood this topic (please don't copy it for your assignment). Share it with your friends and help them learning Python. In the next tutorial, we will learn about the algorithm and data structure of QUICK SORT (most difficult but most important).





John Veer
Contact mail id  -  john.veer.utube@gmail.com
 Contact us 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 ...