வரிசை செய்தலைத் தேர்வு செய்வது சில பண்புகளை சார்ந்துள்ளது: நேர சிக்கலிதা, நிலைத்தன்மை, உள்ளிடத்தில் நினைவக பயன்பாடு மற்றும் தரவின் இயல்பு. எந்த ஒரு வரிசை செய்தலும் எல்லா இடங்களிலும் வெல்வதில்லை.
வரிசை செய்தலைத் தேர்வு செய்வது சில பண்புகளை சார்ந்துள்ளது: நேர சிக்கலிதা, நிலைத்தன்மை, உள்ளிடத்தில் நினைவக பயன்பாடு மற்றும் தரவின் இயல்பு. எந்த ஒரு வரிசை செய்தலும் எல்லா இடங்களிலும் வெல்வதில்லை.
| அல்கொரிதம் | சராசரி நேரம் | மோசமான | நிலையான | உள்ளிடத்தில் |
|---|---|---|---|---|
| Insertion | O(n²) | O(n²) | ஆம் | ஆம் |
| Merge | O(n log n) | O(n log n) | ஆம் | இல்லை |
| Quick | O(n log n) | O(n²) | இல்லை | ஆம் |
| Heap | O(n log n) | O(n log n) | இல்லை | ஆம் |
# Most languages ship a tuned hybrid; prefer it in production
sorted(data, key=lambda x: x.priority) # stable Timsort in Python
நির்দிஷ்ட காரணம் இல்லாவிட்டால் நீ நেரடியாக வரிசை செய்தலை எழுத வேண்டாம் — நூலகத்தின் வரிசை செய்தல் (Timsort, introsort) சோதனை செய்யப்பட்ட கலப்புகள்.
தரவு மற்றும் தேவைகளுக்கு வரிசை செய்தலை பொருத்துவது வீணான நேரம் மற்றும் நுட்பமான பிழைகள் (நிலைத்தன்மையை இழப்பது போன்றவை) இரண்டையும் தவிர்க்கிறது.
பரிமாற வர்ணனைகளைப் புரிந்துகொள்வது Timsort மற்றும் introsort போன்ற கலப்புகளை நிலையான நூலகங்கள் ஏன் தேர்ந்தெடுத்தன என்பதை விளக்குகிறது.
இந்த ஒப்பீடு தீர்ப்பு — ஒரு அல்கொரிதத்தை நினைவில் வைத்திருப்பது இல்லை — உண்மையான பொறியியல் மற்றும் சேர்க்கைகள் விரும்பும் எது.