Sorting Algorithms in Data Structures – Types, Comparison, Time Complexity (With Table & Examples)
Sorting Algorithms in Data Structures – Types, Comparison and Time Complexity
Introduction
Sorting is one of the most important concepts in Data Structures and Algorithms.
Sorting means arranging data in a specific order, usually:
-
Ascending order (small to large)
-
Descending order (large to small)
Sorting is important because:
-
Binary Search requires sorted data
-
Searching becomes faster
-
Data becomes organized
-
Performance improves
In this article, we will learn:
-
What is Sorting?
-
Types of Sorting Algorithms
-
Time Complexity of each
-
Comparison table
-
Example
-
Exam questions
Why Sorting is Important?
Imagine searching for a number in an unsorted list:
[45, 12, 89, 3, 25]
You must check one by one (Linear Search).
But if sorted:
[3, 12, 25, 45, 89]
You can use Binary Search → much faster.
This shows why sorting improves efficiency.
Types of Sorting Algorithms
There are many sorting algorithms. The most important ones for exams are:
-
Bubble Sort
-
Selection Sort
-
Insertion Sort
-
Merge Sort
-
Quick Sort
1️⃣ Bubble Sort
Bubble Sort compares adjacent elements and swaps them if they are in wrong order.
Example:
Array:
[5, 3, 8, 1]
After first pass:
[3, 5, 1, 8]
After second pass:
[3, 1, 5, 8]
After third pass:
[1, 3, 5, 8]
Time Complexity:
-
Worst Case → O(n²)
It is simple but slow.
2️⃣ Selection Sort
Selection Sort selects the smallest element and places it at the correct position.
Example:
[5, 3, 8, 1]
First smallest = 1 → place at beginning
Result:
[1, 3, 8, 5]
Time Complexity:
-
O(n²)
3️⃣ Insertion Sort
Insertion Sort picks one element and inserts it into correct position.
Example:
[5, 3, 8, 1]
Insert 3 before 5:
[3, 5, 8, 1]
Insert 1 at beginning:
[1, 3, 5, 8]
Time Complexity:
-
O(n²)
-
Good for small data
4️⃣ Merge Sort
Merge Sort uses divide and conquer technique.
Steps:
-
Divide array into two halves
-
Sort each half
-
Merge them
Time Complexity:
-
O(n log n)
Very efficient for large data.
5️⃣ Quick Sort
Quick Sort selects a pivot and arranges elements around it.
Time Complexity:
-
Average → O(n log n)
-
Worst → O(n²)
Very fast in practical applications.
Sorting Algorithms Comparison Table
| Algorithm | Best Case | Worst Case | Stable | Suitable For |
|---|---|---|---|---|
| Bubble Sort | O(n) | O(n²) | Yes | Small data |
| Selection Sort | O(n²) | O(n²) | No | Small data |
| Insertion Sort | O(n) | O(n²) | Yes | Nearly sorted data |
| Merge Sort | O(n log n) | O(n log n) | Yes | Large data |
| Quick Sort | O(n log n) | O(n²) | No | Large data |
Time Complexity Comparison
For n = 1000:
-
O(n²) → 1,000,000 operations
-
O(n log n) → around 10,000 operations
This is why Merge Sort and Quick Sort are preferred for large datasets.
Real-Life Application
Sorting is used in:
-
Online shopping (price low to high)
-
Google search ranking
-
Database management
-
Banking systems
-
Student result ranking
Important Exam Points
-
Bubble Sort and Selection Sort → O(n²)
-
Merge Sort and Quick Sort → O(n log n)
-
Binary Search requires sorted array
-
Merge Sort is stable
-
Quick Sort is faster in practice
Conclusion
Sorting algorithms play a very important role in Data Structures.
Simple algorithms like Bubble Sort are easy to understand but slow.
Advanced algorithms like Merge Sort and Quick Sort are efficient and used in real-world systems.
For exams and interviews, always remember:
-
Time Complexity differences
-
Comparison table
-
Real-life applications
Understanding sorting will help you master searching and algorithm efficiency.
Comments
Post a Comment