இவை மூன்று எளிய O(n²) ஒப்பீட்டு வரிசைப்படுத்தல் முறைகள். பெரிய உள்ளீடுகளுக்கு அவை மெதுவாக இருக்கும் ஆனால் புரிந்துகொள்ள எளிதாகவும் வரிசைப்படுத்தலின் இயலாண்மையை பயிற்றுவிப்பதற்கு பயனுள்ளதாகவும் இருக்கும்.
இவை மூன்று எளிய O(n²) ஒப்பீட்டு வரிசைப்படுத்தல் முறைகள். பெரிய உள்ளீடுகளுக்கு அவை மெதுவாக இருக்கும் ஆனால் புரிந்துகொள்ள எளிதாகவும் வரிசைப்படுத்தலின் இயலாண்மையை பயிற்றுவிப்பதற்கு பயனுள்ளதாகவும் இருக்கும்.
def insertion_sort(arr):
for i in range(1, len(arr)):
key = arr[i] # element to place
j = i - 1
while j >= 0 and arr[j] > key:
arr[j + 1] = arr[j] # shift bigger elements right
j -= 1
arr[j + 1] = key # drop key into the gap
return arr
insertion_sort([5, 2, 4, 1]) # -> [1, 2, 4, 5]
| வரிசைப்படுத்தல் | சிறந்தது | மோசமானது | நிலையான | இடத்தில் |
|---|---|---|---|---|
| பப்பிள் | O(n) | O(n²) | ஆம் | ஆம் |
| செலக்ஷன் | O(n²) | O(n²) | இல்லை | ஆம் |
| இன்செர்ஷன் | O(n) | O(n²) | ஆம் | ஆம் |
இன்செர்ஷன் சார்ட் சிறிய அல்லது கிட்டத்தட்ட வரிசைப்படுத்தப்பட்ட வரிசைகளுக்கு உண்மையில் வேகமாக இருக்கிறது மற்றும் ஹைப்பிரிட் வரிசைப்படுத்தல் முறைகளுக்குள் பயன்படுத்தப்படுகிறது. பெரிய வரிசைப்படுத்தப்படாத தரவுகளைக் குறிக்கும் மூன்றையும் தவிர்க்கவும் — இதற்கு பதிலாக O(n log n) வரிசைப்படுத்தல் முறைகளைப் பயன்படுத்தவும்.
இந்த வரிசைப்படுத்তல் முறைகள் மாறிலிகள், பரிமாற்றங்கள் மற்றும் நிலைத்தன்மைக்கான உள்ளுணர்வை உருவாக்குகின்றன உங்கள் முன்னேறிய வழிமுறைகளை கையாளும் முன்.
இன்செர்ஷன் சார்ட் குறிப்பாக உற்பத்தி வரிசைப்படுத்தல் முறைகளுக்குள் (Timsort போன்றவை) சிறிய சப்வாரிக்கு தோன்றுகிறது.
அவை ஏன் O(n²) என்பதை அறிந்துகொள்வது O(n log n) வரிசைப்படுத்தல் முறைகளுக்கு தாவுவதை அর்థপூর்ணமாக்குகிறது.
விரிவான பதில்களுடன் கூடிய IT நேர்காணல் கேள்விகளின் நூலகம் — Junior முதல் Senior வரை.
நன்கொடை