வரிசையாக்க முறைகள்
குமிழி வரிசையாக்கம் ஒரு எளிமையான வரிசையாக்க நெறிமுறை ஆகும்.
வரிசைப் படுத்தப்பட்ட பட்டியலின் படிநிலைகளை மீண்டும் மீண்டும் செய்து, ஒவ்வொரு ஜோடி
அருகிலுள்ள உருப்படிகளை ஒப்பீடு செய்து, வரிசையாக்கம் செய்யப்படாத வரிசை எனில் அவற்றை
இடமாற்றம் செய்யும். இடமாற்றம் தேவைப்படும் வரை அவை மீண்டும் மீண்டும் பட்டியலிடப்படும்.
இது பட்டியல் வரிசையாக்கம் செய்யப்பட்டுள்ளது என்பதைக் குறிக்கும். இந்த ஒப்பீட்டு
வரிசையாக்கம் நெறிமுறையில் பட்டியலின் மேல் பகுதியில் குமிழியைப் போல் சிறிய உறுப்புகளை
அமைக்கும் முறையினால் இதற்கு இந்த பெயரிடப்பட்டது. இந்த நெறிமுறை எளிமையானதாக இருந்த
போதிலும், இது மிகவும் மெதுவானது மற்றும் செருகும் வரிசையாக்கத்தோடு (insertion
sort) ஒப்பீடு செய்யும் போது இது சாத்தியமற்றதாகும்.
n உறுப்புகளை கொண்ட அணியை கருதிக்கொள்ளவும் இடமாற்ற செயல்முறை
(swap function) மதிப்புகளை இடமாற்றம் செய்யும்
1. முதல் உறுப்புடன் (சுட்டெண் = 0), அணியின் தற்போதைய உறுப்போடு
அடுத்த உறுப்பை ஒப்பீடு செய்யவும்.
2. தற்போதைய உறுப்பு அடுத்த உறுப்பை விட அதிகம் எனில், அவற்றை
இடமாற்றம் செய்யவும்.
3. தற்போதைய உறுப்பு அடுத்த உறுப்பை விட சிறியது எனில், அடுத்த
உறுப்பிற்கு செல்லவும் மீண்டும் படிநிலை -1லிருந்து தொடங்கவும்.
{15, 11, 16, 12, 14, 13} மதிப்புகளோடு கூடிய அணியை எடுத்துக்
கொள்வோம்.
கீழே குமிழி வரிசையாக்கம் கொடுக்கப்பட்ட அணியை எவ்வாறு வரிசையாக்கம்
செய்கிறது என்பதற்கான விளக்கப்படம் கீழே கொடுக்கப்பட்டுள்ளது.
எனவே, மேலே குறிப்பிடப்பட்டுள்ளதை முதல் சுழற்சி படமாகும். இதேபோல்,
எல்லா சுழற்சி செய்யப்படும். இறுதி சுழற்சிக்கு பிறகு வரிசையாக்கம் செய்யப்பட்ட அணியை
கொடுக்கும். அந்த அணி இவ்வாறு இருக்கும்.
அதைப்போலவே, இரண்டாவது சுழற்சிக்குப்பிறகு 15 என்ற மதிப்பு இரண்டாவது
இறுதி சுட்டெண்ணில் இருத்தி வைக்கப்படும். இப்படியாக பிற மதிப்புகளுக்கும் செய்யப்படும்.
பட்டியலில் ஒவ்வொரு முறையும் நுழையும் போது ஒரே ஒரு இடமாற்றம்
மட்டுமே இருப்பதால், இது குமிழி வரிசையாக்கத்தை விட மேம்பட்டதாகும். தேர்ந்தெடுப்பு
வரிசையாக்க-மானது கருத்துருவின் படி மிகவும் எளிமையான வரிசையாக்க நெறிமுறையாகும். இந்த
நெறிமுறை, முதலில் மிகச்சிறிய உறுப்பை அணியில் கண்டுப்பிடித்து அதனை முதல் இருப்பிடத்திலுள்ள
உறுப்பில் இடமாற்றம் செய்யும். இதைப்போன்றே அணியிலுள்ள அனைத்து உறுப்புகளையும் வரிசைப்படுத்தப்படும்
வரை இடமாற்றமானது நடைபெறும்.
அடுத்த மிகச்சிறிய உறுப்பைத் தேர்ந்தெடுத்து, அதனை சரியான இடத்தில்
இடமாற்றம் செய்வதை மீண்டும் மீண்டும் இந்த நெறிமுறை செய்வதால் இதனை தேர்ந்தெடுப்பு
வரிசையாக்கம் என அழைக்கப்படுகிறது.
1. முதல் உறுப்பில் தொடங்கி அணியில் உள்ள மிகச் சிறிய உறுப்பைத்
தேடி, முதல் இடத்தில் உள்ள உறுப்போடு இடமாற்றம் செய்ய வேண்டும். (அணியின் சுட்டு எண்
0-ல்)
2. பிறகு இரண்டாவது இடத்திற்கு சென்று, துணை அணியில் உள்ள மிகச்
சிறிய உறுப்பை சுட்டெண் 1-லிருந்து இறுதி சுட்டெண் வரை தேட வேண்டும்.
3. கொடுக்கப்பட்ட அணியில் இரண்டாவது இடத்தில் படிநிலை 2-ல் கண்டறிந்த
உறுப்பை இடமாற்றம் செய்க இடமாற்றம் அல்லது இது துணை அணியின் முதல் இடத்தில் இருக்கும்.
4. அணி வரிசையாக்கம் செய்யப்படும் வரை, இதை மீண்டும் மீண்டும்
செய்தல் வேண்டும். {13, 16, 11, 18, 14, 15} மதிப்புகளைக் கொண்ட ஒரு அணியை எடுத்துக்கொள்வோம்.
தேர்ந்தெடுப்பு வரிசையாக்கம் கொடுக்கப்பட்ட அணியை எவ்வாறு வரிசையாக்கம்
செய்கிறது என்பதற்கான விளக்கப்படம் கீழே கொடுக்கப்பட்டுள்ளது.
முதல் சுற்றில், மிகச் சிறிய எண் 11 ஆகும். எனவே, அது முதல்
இடத்தில் இருத்தி வைக்கப்படுகிறது.
முதல் உறுப்பைத் தவிர்த்து, மீதமுள்ள உறுப்புகளில் இருந்து அடுத்த மிகச் சிறிய உறுப்பைத் தேட வேண்டும். 13 தான் அடுத்த மிகச்சிறிய எண் ஆதலால் அதை இரண்டாம் இடத்தில் இருத்தி வைக்கப்படுகிறது. பிறகு 11 மற்றும் 13-யைத் தவிர்த்து (ஏனெனில் அவை சரியான இடத்தில் உள்ளன) மீதமுள்ள உறுப்புகளிலிருந்து அடுத்தமிகச்சிறிய எண்ணைத் மூன்றாம் இடத்தில் இருத்தி வைக்கப்படுகிறது. இவ்வாறு அணியானது வரிசைப்படுத்தப்படும் வரை மீண்டும் மீண்டும் இச்செயல் நடைபெறும்.
எளிமையான வரிசையாக்க நெறி முறையான இது நெறிமுறையின் முடிவில்
இறுதியாக வரிசையாக்கம் செய்யப்பட்ட அணியினை அமைக்கும். இது அணியின் கீழ்பகுதியில் வரிசையாக்கம்
செய்யப்பட்ட துணைப் பட்டியலை அமைத்துகொள்ளும்.
படி நிலை
1
- முதல் உறுப்பாக இருந்தால், அது ஏற்கனவே வரிசையாக்கம் செய்யப்பட்டது.
படி நிலை
2
- அடுத்த உறுப்பினைத் தேர்வு செய்ய வேண்டும்.
படிநிலை
3
– வரிசைப்படுத்தப்பட்ட துணைப்பட்டியலுள்ள உறுப்புகளோடு ஒப்பீடு செய்ய வேண்டும்.
படிநிலை
4
– வரிசைப்படுத்தப்பட்ட துணைப்பட்டியலிலுள்ள அனைத்து உறுப்புகளும் வரிசைப்படுத்தப்பட
வேண்டிய மதிப்பை விட பெரிய மதிப்பாக இருந்தால் அதனை இடமாற்றம் செய்ய வேண்டும்.
படி நிலை
5
- மதிப்பைச் செருகுதல் வேண்டும்.
படி நிலை
6
- பட்டியல் வரிசைபடுத்தப்படும் வரை இச்செயலை மீண்டும் மீண்டும் செய்ய வேண்டும்.
மேலே கொடுக்கப்பட்டுள்ள பட்டியலின் மதிப்புகளைச் செருகும் வரிசையாக்கம்
நெறிமுறை மூலம் வரிசையாக்கம் செய்யப்பட்டது.