Selection Sort: TimeComplexity
Derivation
A concise breakdown of selection
sort algorithm's complexity
2.
Overview of SelectionSort
• - Divides array into sorted and unsorted parts.
• - Repeatedly selects the minimum element
from unsorted part.
• - Swaps it with the first element of the
unsorted part.
3.
Pseudocode
• for i= 0 to n - 1:
• min_index = i
• for j = i + 1 to n:
• if arr[j] < arr[min_index]:
• min_index = j
• Swap arr[i] and arr[min_index]
4.
Time Complexity Derivation
•- Outer Loop (i) runs `n` times.
• - Inner Loop (j) finds the minimum element:
• - For i = 0, inner loop runs `n - 1` times.
• - For i = 1, inner loop runs `n - 2` times.
5.
Total Comparisons
• Thetotal number of comparisons is:
• T(n) = (n - 1) + (n - 2) + ... + 1 + 0
• = (n(n-1)) / 2
• = O(n^2)
6.
Time Complexity
• -Best case: O(n^2)
• - Average case: O(n^2)
• - Worst case: O(n^2)
• - Time complexity remains same regardless of
input order.
7.
Space Complexity &Summary
• - Space Complexity: O(1) (in-place sorting)
• Summary:
• - Time Complexity: O(n^2) (all cases)
• - Space Complexity: O(1)
• - Simple, but inefficient for large datasets.