Skip to main content

Selection Sort Algorithm in PYTHON

In computer science, selection sort is an in-place comparison sorting algorithm. It is inefficient on large list. It has a performance wore than Insertion sort. But at some case it proves its simplicity and advantages.

The time complexity of the selection sort is the same in all cases. At every step, you have to find the minimum element and put it in the right place. The minimum element is not known until the end of the array is not reached.

ALGORITHM

1.) First of all take a list, and look for the minimum element.
2.) Place that minimum element at the first position and the first element at the index of that       minimum element.
3.) Now fix the minimum at first position, now look for the minimum element in the list             except the first element because it is already sorted. Now place the minimum element            on  second position and that second element at the index of that minimum element.
4.) Go on upto the last element and place the minimum elements ahead.
5.) Print the resulted list.


DATA STRUCTURE






So this was the simple and easy algorithm and data structure of the SELECTION SORT. Hope you understand this sorting algorithm. Please share it with your friends. In the next tutorial, we will learn about the MERGE SORT.




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

Comments

Popular posts from this blog

Binary Search Tree and Binary Heap in PYTHON

Here is the Python code for Binary Search Tree :- Content included:- 1.) Insertion 2.) Search Operation 3.) Deletion 4.) Minimum Node 5.) Maximum Node 6.) Preorder Traversal 7.) InOrder Traversal 8.) PostOrder Traversal class BST: def __init__(self, data): self.root = data self.left = None self.right =None def insertnode(self, data): if self.root is None: self.root = data return if self.root is data: return elif self.root > data: if self.left is not None: self.left.insertnode(data) else: self.left = BST(data) elif self.root data: if self.left is not None: self.left.searchoprn(data) else: print("Data is not present.") elif self.root self.root: if self.right: selfright = self.right.deletenode(data) ...

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 ...