๐ Day 54/150 – Selection Sort in Python
Selection Sort repeatedly finds the smallest element from the unsorted part of the list and places it at the beginning.
After every pass, one element reaches its correct position
Easy to understand and good for learning sorting basics
๐นMethod 1 – Basic Selection Sort
numbers = [64, 25, 12, 22, 11]
n = len(numbers)
for i in range(n):
min_index = i
for j in range(i + 1, n):
if numbers[j] < numbers[min_index]:
min_index = j
numbers[i], numbers[min_index] = numbers[min_index], numbers[i]
print("Sorted List:", numbers)
๐น Method 2 – Taking User Input
numbers = list(map(int, input("Enter numbers: ").split()))
n = len(numbers)
for i in range(n):
min_index = i
for j in range(i + 1, n):
if numbers[j] < numbers[min_index]:
min_index = j
numbers[i], numbers[min_index] = numbers[min_index], numbers[i]
print("Sorted List:", numbers)
๐น Method 3 – Sorting in Descending Order
numbers = [64, 25, 12, 22, 11]
n = len(numbers)
for i in range(n):
max_index = i
for j in range(i + 1, n):
if numbers[j] > numbers[max_index]:
max_index = j
numbers[i], numbers[max_index] = numbers[max_index], numbers[i]
print("Descending Order:", numbers)
๐น Method 4 – Using Function
def selection_sort(arr):
n = len(arr)
for i in range(n):
min_index = i
for j in range(i + 1, n):
if arr[j] < arr[min_index]:
min_index = j
arr[i], arr[min_index] = arr[min_index], arr[i]
return arr
print(selection_sort([64, 25, 12, 22, 11]))
๐ก Key Takeaways
Finds the smallest element in each pass
Places one element in the correct position after every iteration
Time Complexity: O(n²)
Performs fewer swaps than Bubble Sort
Selection Sort repeatedly finds the smallest element from the unsorted part of the list and places it at the beginning.
After every pass, one element reaches its correct position
Easy to understand and good for learning sorting basics


0 Comments:
Post a Comment