அல்கோரிதம்insertion sort
Insertion sort — கிட்டத்தட்ட sorted
TT
Testlaa Team
May 14, 2026•1 min read
Insertion sort ஒவ்வொரு புதிய உறுப்பையும் இதுவரை sorted பகுதியில் சரியான இடத்தில் செருகுகிறது — கையில் வரும் சீட்டுகளைப் போல. சிறிய n அல்லது கிட்டத்தட்ட sorted தரவில் சிறப்பு.
உண்மை உலகில் இது ஏன் முக்கியம்?
கிட்டத்தட்ட காலவரிசை பரிவர்த்தனைகள் — சில jitter-க்கு சில செருகும்கள் போதும். Android சிறிய அணிகளில் insertion, பெரியதில் quicksort. B-tree சிறிய fan-out பக்கங்களில் குறைந்த மறுசீரமைப்பு — கருத்து ஒத்தது.
மையக் கருத்து (மாணவர்களுக்கான விளக்கம்)
ஒவ்வொரு i-க்கும், இடது பக்கம் பெரியது என்றால் வலதுக்கு நகர்த்தி இடையில் செருகு. <= இல் நிறுத்தினால் stable. ஏற்கனவே sorted எனில் O(n); முழு தலைகீழ் O(n²). Timsort போன்ற hybrid இல் இது உதவுகிறது.
Pythonில் முயற்சி செய்வோம்
def insertion_sort(a: list[int]) -> list[int]:
a = a[:]
for i in range(1, len(a)):
key = a[i]
j = i - 1
while j >= 0 and a[j] > key:
a[j + 1] = a[j]
j -= 1
a[j + 1] = key
return a
print(insertion_sort([5, 2, 4, 6, 1, 3]))
அடிக்கடி நேரும் தவறுகள்
- தற்காலிகம் இல்லாமல் நகர்த்தல் — மதிப்பு அழிவு.
0எல்லை சோதனை தவறு — முடிவில்லா வளையம்.- பெரிய சீரற்ற தரவில் சிந்தனையின்றிப் பயன்பாடு.
முக்கியச் சுருக்கக் குறிப்புகள்
- தகவமைப்பு: கிட்டத்தட்ட sorted இல் வேகம்.
- பொதுவாக stable.
- hybrid இல் n < ~50 வாசல்.
Tags:
SortingPythonமாணவர்கள்
