Selection Sort āĻ ্āϝাāϞāĻāϰিāĻĻāĻŽ: āϏāĻšāĻ āĻাāώাāϝ় āĻŦোāĻা
Selection Sort āĻāĻāĻি āϏāĻšāĻ āĻāĻŦং āĻāύāĻĒ্āϰিāϝ় āϏোāϰ্āĻিং āĻ ্āϝাāϞāĻāϰিāĻĻāĻŽ āϝা āĻোāĻ āĻĄেāĻা āϏেāĻেāϰ āĻāύ্āϝ āĻাāϞো āĻাāĻ āĻāϰে। āĻāĻি āĻāĻāĻি āĻāύ-āĻĒ্āϞেāϏ āϏোāϰ্āĻিং āĻĒāĻĻ্āϧāϤি āϝেāĻাāύে āĻ āϤিāϰিāĻ্āϤ āĻŽেāĻŽোāϰি āĻŦ্āϝāĻŦāĻšাāϰ āĻšāϝ় āύা। Selection Sort āĻāϰ āĻĒ্āϰāϧাāύ āϧাāϰāĻŖা āĻšāϞ āĻĒ্āϰāϤিāĻŦাāϰ āϏিāĻুāϝ়েāύ্āϏ āĻĨেāĻে āϏāĻŦāĻেāϝ়ে āĻোāĻ āĻāĻĒাāĻĻাāύāĻি āĻুঁāĻে āĻŦেāϰ āĻāϰে āϏāĻ িāĻ āĻ āĻŦāϏ্āĻĨাāύে āĻŦāϏাāύো।
āĻীāĻাāĻŦে Selection Sort āĻাāĻ āĻāϰে?
Selection Sort āĻ ্āϝাāϞāĻāϰিāĻĻāĻŽেāϰ āĻŽাāϧ্āϝāĻŽে āĻāĻāĻি āĻ ্āϝাāϰেāϰ āĻāĻĒাāĻĻাāύāĻুāϞোāĻে āĻোāĻ āĻĨেāĻে āĻŦāĻĄ় āĻ্āϰāĻŽে āϏাāĻাāϤে āĻšāϞে āύিāĻŽ্āύāϞিāĻিāϤ āϧাāĻĒāĻুāϞো āĻ āύুāϏāϰāĻŖ āĻāϰāϤে āĻšāϝ়:
- āĻĒ্āϰāĻĨāĻŽে āĻ ্āϝাāϰেāϰ āĻĒ্āϰāĻĨāĻŽ āĻāĻĒাāĻĻাāύ āĻĨেāĻে āĻļুāϰু āĻāϰি āĻāĻŦং āϧāϰে āύিāĻ āĻāĻি āϏāĻŦāĻেāϝ়ে āĻোāĻ āĻāĻĒাāĻĻাāύ।
- āĻāϰāĻĒāϰ āĻŦাāĻি āĻāĻĒাāĻĻাāύāĻুāϞোāϰ āϏাāĻĨে āϤুāϞāύা āĻāϰে āϏāĻŦāĻেāϝ়ে āĻোāĻ āĻāĻĒাāĻĻাāύ āĻুঁāĻে āĻŦেāϰ āĻāϰি।
- āϏāĻŦāĻেāϝ়ে āĻোāĻ āĻāĻĒাāĻĻাāύāĻি āĻুঁāĻে āĻĒেāϞে, āϏেāĻিāĻে āĻŦāϰ্āϤāĻŽাāύ āĻ āĻŦāϏ্āĻĨাāύেāϰ āϏাāĻĨে āĻ āĻĻāϞāĻŦāĻĻāϞ āĻāϰি।
- āĻāϰāĻĒāϰ āĻĒāϰāĻŦāϰ্āϤী āĻāĻĒাāĻĻাāύ āĻĨেāĻে āĻāĻŦাāϰ āĻāĻāĻ āĻĒ্āϰāĻ্āϰিāϝ়া āĻাāϞাāĻ āϝāϤāĻ্āώāĻŖ āύা āϏāĻŦ āĻāĻĒাāĻĻাāύ āϏāĻ িāĻāĻাāĻŦে āϏাāĻাāύো āĻšāϝ়ে āϝাāϝ়।
Selection Sort āĻāϰ āĻāĻĻাāĻšāϰāĻŖ āĻোāĻĄ
def selection_sort(arr):
# āĻĒ্āϰāϤিāĻি āĻāĻĒাāĻĻাāύেāϰ āĻāύ্āϝ
for i in range(len(arr)):
# āϧāϰে āύিāĻ āϝে i āϤāĻŽ āĻāĻĒাāĻĻাāύāĻাāĻ āϏāĻŦāĻেā§ে āĻোāĻ
min_idx = i
# i āĻāϰ āĻĒāϰāĻŦāϰ্āϤী āϏāĻŦ āĻāĻĒাāĻĻাāύেāϰ āĻāύ্āϝ
for j in range(i + 1, len(arr)):
# āϝāĻĻি j āϤāĻŽ āĻāĻĒাāĻĻাāύāĻি min_idx āϤে āĻĨাāĻা āĻāĻĒাāĻĻাāύেāϰ āĻেā§ে āĻোāĻ āĻšā§
if arr[j] < arr[min_idx]:
# āϤাāĻšāϞে min_idx āĻāĻĒāĻĄেāĻ āĻāϰে āĻĻেāĻ
min_idx = j
# āϏāĻŦāĻেā§ে āĻোāĻ āĻāĻĒাāĻĻাāύāĻিāĻে āĻŦāϰ্āϤāĻŽাāύ i āϤāĻŽ āϏ্āĻĨাāύে āĻŦāϏাāĻ
arr[i], arr[min_idx] = arr[min_idx], arr[i]
# āĻāĻĻাāĻšāϰāĻŖ:
numbers = [5, 3, 8, 6, 7, 2]
selection_sort(numbers)
print("Sorted array:", numbers)
āĻোāĻĄেāϰ āĻŦ্āϝাāĻ্āϝা
āĻāĻĒāϰেāϰ āĻোāĻĄে, selection_sort
āĻĢাংāĻļāύāĻি āĻāĻāĻি āĻ
্āϝাāϰে āĻ্āϰāĻšāĻŖ āĻāϰে āĻāĻŦং āϤা āϏাāĻাāύো āĻ
āĻŦāϏ্āĻĨাāϝ় āϰিāĻাāϰ্āύ āĻāϰে।
āĻোāĻĄāĻি āĻŽূāϞāϤ āĻĻুāĻি āϞুāĻĒ āĻŦ্āϝāĻŦāĻšাāϰ āĻāϰে:
- āĻĒ্āϰāĻĨāĻŽ āϞুāĻĒāĻি
i
āĻāϰ āĻŽাāύ āĻŦাāĻĄ়িāϝ়ে āĻ ্āϝাāϰেāϰ āĻĒ্āϰāϤিāĻি āĻāĻĒাāĻĻাāύ āĻĒāϰিāĻĻāϰ্āĻļāύ āĻāϰে। - āĻĻ্āĻŦিāϤীāϝ় āϞুāĻĒāĻি
j
āĻāϰ āϏাāĻšাāϝ্āϝেi
āĻāϰ āĻĒāϰāĻŦāϰ্āϤী āĻāĻĒাāĻĻাāύāĻুāϞোāĻে āĻĒāϰিāĻĻāϰ্āĻļāύ āĻāϰে āϏāĻŦāĻেāϝ়ে āĻোāĻ āĻāĻĒাāĻĻাāύāĻি āĻুঁāĻে āĻŦেāϰ āĻāϰে। - āϝāĻĻি āĻোāύো āĻāĻĒাāĻĻাāύ
min_idx
āĻāϰ āĻেāϝ়ে āĻোāĻ āĻšāϝ়, āϤāĻŦেmin_idx
āĻāĻĒāĻĄেāĻ āĻāϰা āĻšāϝ়। - āϏāĻŦāĻেāϝ়ে āĻোāĻ āĻāĻĒাāĻĻাāύ āĻĒাāĻāϝ়াāϰ āĻĒāϰ,
i
āϤāĻŽ āĻāĻĒাāĻĻাāύেāϰ āϏাāĻĨে āĻ āĻĻāϞāĻŦāĻĻāϞ āĻāϰা āĻšāϝ়।
āĻāĻāĻāĻĒুāĻ
āĻāĻĒāϰেāϰ āĻোāĻĄāĻি āϰাāύ āĻāϰāϞে āĻāĻāĻāĻĒুāĻ āĻšāĻŦে:
Sorted array: [2, 3, 5, 6, 7, 8]
Selection Sort āĻāϰ āĻāĻিāϞāϤা
Selection Sort āĻāϰ āϏāĻŽāϝ় āĻāĻিāϞāϤা āĻšāϞ O(n2)
, āϝেāĻাāύে n
āĻšāϞ āĻ
্āϝাāϰেāϰ āĻĻৈāϰ্āĻ্āϝ।
āĻাāϰāĻŖ āĻĒ্āϰāϤিāĻি āĻāĻĒাāĻĻাāύ āύিāϰ্āĻŦাāĻāύ āĻāĻŦং āϏ্āĻĨাāύাāύ্āϤāϰ āĻāϰāϤে n
āĻŦাāϰ āĻāĻŽ্āĻĒ্āϝাāϰিāĻāύ āĻāϰāϤে āĻšāϝ়।
āϤাāĻ, āĻāĻি āĻŦāĻĄ় āĻĄেāĻা āϏেāĻেāϰ āĻāύ্āϝ āϤāϤāĻা āĻাāϰ্āϝāĻāϰ āύāϝ়। āϤāĻŦে, āĻোāĻ āĻĄেāĻা āϏেāĻেāϰ āĻāύ্āϝ āĻāĻি āĻāĻāĻি āϏāĻšāĻ āĻ āĻŦোāϧāĻāĻŽ্āϝ āϏāĻŽাāϧাāύ।
āĻāĻĒāϏংāĻšাāϰ
Selection Sort āĻāĻāĻি āϏāĻšāĻ āĻāĻŦং āĻĒ্āϰাāĻĨāĻŽিāĻ āĻ ্āϝাāϞāĻāϰিāĻĻāĻŽ āĻšāϞেāĻ, āĻāĻি āĻāĻŽাāĻĻেāϰ āϏāĻ িāĻāĻাāĻŦে āϏিāĻুāϝ়েāύ্āϏ āϏোāĻাāϤে āϏাāĻšাāϝ্āϝ āĻāϰে। āĻŦিāĻļেāώ āĻāϰে, āϝāĻāύ āĻļিāĻāĻি āĻীāĻাāĻŦে āϏিāĻুāϝ়েāύ্āϏিং āĻাāĻ āĻāϰে, āϤāĻāύ Selection Sort āĻŦোāĻা āĻ āύেāĻ āϏāĻšāĻ āĻāĻŦং āĻাāϰ্āϝāĻāϰী। āĻāĻļা āĻāϰি āĻāĻ āĻŦ্āϞāĻāĻি āĻāĻĒāύাāĻে Selection Sort āϏāĻŽ্āĻĒāϰ্āĻে āĻāĻāĻি āĻĒāϰিāώ্āĻাāϰ āϧাāϰāĻŖা āĻĻিāϤে āĻĒেāϰেāĻে।