கணினி அறிவியல் - நெறிமுறையின் யுக்திகள்: பின்வரும் கேள்விகளுக்கு பதில் அளிக்கவும் | 12th Computer Science : Chapter 4 : Algorithmic Strategies
கணினி அறிவியல் : நெறிமுறையின் யுக்திகள்
மதிப்பீடு
பகுதி - அ
சரியான விடையைத்
தேர்ந்தெடுக்கவும் (1 மதிப்பெண்)
1. எந்த சொல் பெர்ஷிய கணிதமேதை
அபு ஜாஃபர் முகமது இபின்-ஐமுசா அல் கௌவாரிஸ்மி பெயரில் இருந்து வந்தது?
அ)
Flowchart
ஆ)
Flow
இ)
Algorithm
F)
Syntax
விடை : இ)
Algorithm
2. பின்வரும் வரிசையாக்க நெறிமுறையில்,
எந்த நெறிமுறைக்கு குறைந்த எண்ணிக்கையிலான இடமாற்றம் தேவைப்படும்?
அ)
குமிழி
ஆ)
விரைவு
இ)
ஒன்றிணைந்த
ஈ)
தேர்ந்தெடுப்பு
விடை : ஈ) தேர்ந்தெடுப்பு
3. நெறிமுறையின் செயல்திறனை அளவிட
இரண்டு முக்கிய அளவீடுகள் எவை?
அ)
செயலி மற்றும் நினைவகம்
ஆ)
சிக்கல் மற்றும் கொள்ளளவு
இ)
நேரம் மற்றும் இடம்
ஈ)
தரவு மற்றும் இடம்
விடை: இ) நேரம்
மற்றும் இடம்
4. வரிசைமுறை தேடல் நெறிமுறையின்
சிக்கல்தன்மை எது?
அ)
O(n)
ஆ)
O(log n)
இ)
O(n2)
ஈ)
O(n log n)
விடை: அ) O(n)
5. பின்வரும் வரிசையாக்க நெறிமுறையில்
எது மிகவும் குறைவான மோசமான சிக்கல் தன்மையை உடையது?
அ)
குமிழி
ஆ)
விரைவு
இ)
ஒன்றிணைந்த
ஈ)
தேர்ந்தெடுப்பு
விடை: இ) ஒன்றிணைந்த
6. பின்வருவனவற்றுள் எது நிலையான
வரிசையாக்க நெறிமுறை அல்ல?
அ)
செருகுதல்
ஆ)
தேர்ந்தெடுப்பு
இ)
குமிழி
ஈ)
ஒன்றிணைந்த
விடை: ஆ) தேர்ந்தெடுப்பு
7. குமிழி வரிசையாக்கத்தின் மிகச்
சிறந்த நிலையில் அதன் நேர சிக்கல்தன்மை
அ)
θ
(n)
ஆ)
θ
(nlogn)
இ)
θ
(n2)
ஈ)
θ
(n(logn) 2)
விடை: அ) θ (n)
8. என்ற குறியீடு
asymptotic மதிப்பீட்டில் எதைக் குறிக்கிறது?
அ)
அடிப்படை நிலை
ஆ)
மிதமான நிலை
இ)
மோசமான நிலை
ஈ)
NULL நிலை
விடை: ஆ) மிதமான
நிலை
9. ஒரு சிக்கல் துணைச் சிக்கல்களாக
பிரித்து அதனை பல முறை பயன்படுத்தினால், அந்த சிக்கல் எந்த பண்பை பெறும்?
அ)
ஒன்றோடு ஒன்றிணைந்த துணைச்சிக்கல்
ஆ)
உகந்த துணை கட்டமைப்பு
இ)
நினைவிருத்தல்
ஈ)
பொறாமை
விடை: அ) ஒன்றோடு
ஒன்றிணைந்த துணைச்சிக்கல்
10. இயங்கு நிரலாக்கத்தில், ஏற்கனவே
கணக்கீடு செய்த மதிப்புகளை சேமிக்கும் யுக்தியை இவ்வாறு அழைக்கலாம்.
அ)
மதிப்பை சேமிக்கும் பண்பு
ஆ)
மதிப்பை சேகரிக்கும் பண்பு
இ)
நினைவிருத்தல்
ஈ)
படமிடல்
விடை: இ) நினைவிருத்தல்
பகுதி - ஆ
அனைத்து வினாக்களுக்கும்
விடையளி (2 மதிப்பெண்கள்)
1. நெறிமுறை என்றால் என்ன?
விடை. ஒரு குறிப்பிட்ட செயலை நிறைவேற்றுவதற்கான வரையறுக்கப்பட்ட கட்டளைகளின்
தொகுப்பு நெறிமுறையாகும். கொடுக்கப்பட்ட சிக்கலைத் தீர்க்கும் படிநிலை உடைய செய்முறை
ஆகும்.
2. போலிக் குறிமுறை வரையறை.
விடை. போலிக் குறிமுறை என்பது குறிப்பிட்ட செயலை முடிப்பதற்கான வரையறுக்கப்பட்ட
கட்டளையின் தொகுதியாகும்.
3. நெறிமுறையாளர் என்பவர் யார்?
விடை. நெறிமுறையாளர் என்பவர் நெறிமுறை எழுதுவதில் திறமையானவர் எல்லையுற்றது
(finiteness) - நெறிமுறை வரையறுக்கப்பட்ட படிநிலைகளின் எண்ணிக்கைக்குப் பிறகு நிறுத்தப்பட
வேண்டும் என்பதை வரையறுக்கிறது.
4. வரிசையாக்கம் என்றால் என்ன?
விடை. தரவு கட்டமைப்பில் உள்ள தரவுகளை ஒரு குறிப்பிட்ட வரிசையில் (ஏறுவரிசை
அல்லது இறங்குவரிசை) ஒழுங்குபடுத்தி எழுதுவதற்கு வரிசையாக்கம் என்று பெயர்.
5. தேடல் என்றால் என்ன? அதன் வகைகளை
எழுதுக.
விடை. தரவு கட்டமைப்பில் உள்ள ஒரு குறிப்பிட்ட தேவைபட்ட தரவை தேடிக் கண்டுபிடித்து
எடுக்கும் செயற்பாட்டிற்குத் தேடல் என்று பெயர். அதன் வகைகள்
(i) வரிசைமுறை தேடல் அல்லது தொடர் தேடல்
(ii) இரும தேடல்
பகுதி - இ
அனைத்து வினாக்களுக்கும்
விடையளி (3 மதிப்பெண்கள்)
1. நெறிமுறையின் பண்பியல்புகளைப்
பட்டியலிடுக.
விடை. (i) உள்ளீ டு
(ii) வெளியீடு
(iii) எல்லையற்றது
(iv) வரையறுத்தல்
(v) செயல்தன்மை
(vi) உண்மைத் தன்மை
(vii) எளிமை
(viii) குழப்பமற்றது
(ix) செயலாக்கம்
(x) அடக்கமானது
(xi) சார்பற்றது
2. சிக்கல் தன்மை மற்றும் வகைகளைப்
பற்றி விவாதிக்க.
விடை. நெறிமுறை f(n)-ன் சிக்கலானது, அது n அளவிலான உள்ளீட்டு தரவை எடுத்துக்கொண்டு
இயங்கும் நேரம் மற்றும் நினைவகத்தில் அதற்கு தேவைப்படும் இட ஒதுக்கீடு பொறுத்தது.
(i) நேரசிக்கல் (Time complexcity): ஒரு நெறிமுறை செயலை செய்து முடிக்க
எண்ணிக்கையே நெறிமுறையின் நேரசிக்கல் எனப்படும்.
(ii) இடசிக்கல் (space): ஒரு நெறிமுறையின் செயல்பாடு முடியும்வரை அதற்கு
தேவைப்படும் நினைவக இடமே இடச்சிக்கல் எனப்படும். நெறிமுறைக்கு தேவைப்படும் இடம் பின்வரும்
இரு கூறுகளின் கூட்டுத் தொகையாகும்.
நிலையான பகுதி: இது நெறிமுறைக்கு தேவையான தரவு மற்றும் மாறிகளை சேமிக்க
பயன்படும் கூட்டு இடத்தை வரையறுக்கும். எடுத்துக்காட்டு நிரல் நெறிமுறையில் பயன்படுத்தப்படும்
மாறிகள் மற்றும் மாறிலிகள்
மாறும் பகுதி: சிக்கலின் அளவு மற்றும் சுழற்சிக்கு தேவைபடும் அனைத்து
மாறிகளின் கூட்ட இடத்தின் அளவை பொறுத்து இது வரையறுக்கப்படும். எடுத்துக்காட்டாக: என்ற
மதிப்பின் தொடர் பெருக்களை தற்சுழற்சி மூலம் கண்டறிதல்.
3. இடம் மற்றும் இடசிக்கல்களின்
மீது தாக்கத்தை ஏற்படுத்தும் காரணிகள் யாவை?
விடை. நேரம் காரணி : நெறிமுறைறைக்கு பொருத்தக் கூடிய முக்கிய செயல்பாடுகளின்
எண்ணிக்கையை எண்ணுவதன் மூலம் நேரம் அளவிடப்படுகிறது, வரிசையாக்கம் நெறி முறையிலுள்ள
பொருத்தங்களின் எண்ணிக்கை.
இட காரணி : நெறிமுறைக்கு தேவைப்படும் மிக அதிகபட்ச நினைவக இடத்தை கணக்கிடுவதன்
மூலம் இது அளவிடப்படுகிறது.
4. Asymptotic குறியீடு - குறிப்பு
வரைக.
விடை. Asymptotic குறியீடுகள் நேரம் மற்றும் இடச்சிக்கலைகளைப் பற்றிய அர்த்தமுள்ள
கூற்றுகளைப் பயன்படுத்தும் ஒரு மொழியாகும். பின்வரும் மூன்று Asymptotic குறியீடுகள்
நெறிமுறையில் நேரச் சிக்கலைக் குறிக்க மிகவும் பயன்படுகிறது.
(i) Big O: நெறிமுறையின் மிக மோசமான நிலையை விவரிக்க Big O பெரும்பாலும்
பயன்படுத்தப்படுகிறது.
(ii) Big Ω: Big Omega, Big O-வின் தலைகீழ் ஆகும். Big O-asymptotic (மோசமான நிலையில்)
செயற்கூறின் உச்ச வரம்பையும், Big Omega அதன் கீழ்வரையை குறிக்கும் (சிறந்த நிலையில்).
(iii) Big ppppppp : நெறிமுறையானது கீழ் எல்லை = மேல் எல்லை என்னும்
சிக்கலைக் கொண்டிருந்தால், உதாரணத்திற்கு O (n log n) மற்றும் Ω (n log.n), ஆகிய
சிக்கல்களைக் கொண்டுள்ளது என வைத்துக் கொள்வோம். உண்மையில் அதனுடைய சிக்கல் (n log
n), என்பது ஆகும். இதனுடைய அர்த்தம் என்னவென்றால் நெறிமுறையின் இயங்கு நேரம் மிகச்
சிறந்த நிலை மற்றும் மிக மோசமான நிலை ஆகிய இரண்டு நிலையிலுமே எப்பொழுதும் n log n ஆக
இருக்கும்.
5. இயங்கு நிரலாக்கத்தைப் பற்றி
நீவிர் அறிவன யாவை?
விடை. இயங்கு நிரலாக்கம்:
(i) இயங்கு நிரலாக்கம் என்பது ஒரு சிக்கலுக்கு தீர்வுகான வரிசையான முடிவுகளின்
மூலம் செயல்படுத்தப்படும் நெறிமுறை வடிவ முறையாகும்.
(ii) இயங்கு நிரலாக்க அணுகுமுறை கொடுக்கப்பட்ட சிக்கலை சிறிய சிக்கல்களாகப்
பிரிப்பதில் பிரித்து கைப்பற்றுதல் முறை சிக்கலை
சிறு – சிறு சிக்கலாக பிரித்து செயல்படுத்துவதாகும்.
(iii) இயங்கு நிரலாக்கத்தை எங்கு சிக்கல்கள் உள்ளதோ அங்கு பயன்படுத்தலாம்.
(iv) சிக்கல்களை ஒரே மாதிரியான துணை சிக்கல்களாக பிரிப்பதனால், அதன்
மூலம் கிடைக்கும் தீர்வை மீண்டும் பயன்படுத்தலாம்.
(v) பெரும்பாலும், இந்த நெறிமுறைகள் உகந்த தீர்வாகப் பயன்படுத்தப்படுகிறது.
கையில் உள்ள துணை சிக்கல் தீர்ப்பதற்கு 'முன் இந்த செயல்முறையானது ஏற்கனவே தீர்வு காணப்பட்ட
துணை சிக்கல்களின் முடிவுகளை ஆராய முயற்சிக்கும்.
(vi) மிகச் சிறந்த தீர்வை அடைவதற்கு துணை சிக்கல்களின் தீர்வுகளை ஒன்றிணைத்தல்
வேண்டும்.
பகுதி - ஈ
அனைத்து வினாக்களுக்கும்
விடையளி (5 மதிப்பெண்கள்)
1. நெறிமுறையின் பண்பியல்புகளை
விவரி.
விடை. பின்வரும் பண்புகளை நெறிமுறைகள் கொண்டிருக்க வேண்டும்.
1. உள்ளீடு - பூஜ்ஜியம் அல்லது அதிக எண்ணிக்கையில் வழங்கப்பட வேண்டும்.
2. வெளியீடு - குறைந்தபட்சம் ஒன்றாவது உருவாக்கப்பட வேண்டும்.
3. எல்லையற்றது – வரையறுக்கப்பட்ட எண்ணிக்கையிலான படிநிலைகளில் நெறிமுறை
நிறுத்தப்பட வேண்டும்.
4. வரையறுத்தல் - அனைத்து செயல்பாடுகளும் நன்றாக வரையறுக்கப்பட வேண்டும்.
எடுத்துக்காட்டாக, பூஜ்ஜியம் மூலம் வகுத்தல் அல்லது எதிர்ம எண்ணுக்கு வர்க்க மூலத்தை
கணக்கிடுதல் ஆகிய செயல்பாடுகள் ஏற்றுக் கொள்ள முடியாதது ஆகும்.
5. செயல்தன்மை - ஒவ்வொரு கட்டளைகளும் திறம்பட நடத்தப்பட வேண்டும்.
6. உண்மைத் தன்மை - நெறிமுறைகள் பிழை இல்லாததாக இருக்க வேண்டும்.
7. எளிமை - செயல்படுத்துவதற்கு மிக எளிதாக இருக்க வேண்டும்.
8. குழப்பமற்றது – நெறிமுறையானது தெளிவாகவும் குழப்பமற்றதாகவும் இருத்தல்
வேண்டும். அதன் ஒவ்வொரு படிநிலைகளும் மற்றும் அதனுடைய உள்ளீடுகள்/ வெளியீடுகள் தெளிவானதாக
இருக்க வேண்டும் மற்றும் ஒரே ஒரு பொருளுக்கு வழிவகுக்க வேண்டும்.
9. செயலாக்கம் - கிடைக்கம் வளங்களை வைத்து செயலாக்க வல்லது.
10. அடக்கமானது - நெறிமுறை பொதுவானதாக இருக்க வேண்டும். அனைத்து வகையான
உள்ளீடுகளையும் கையாள்வதற்கு எந்த நிரலாக்க மொழியையும் மற்றும் இயக்க அமைப்பையும் சாராமல்
இருக்க வேண்டும்.
11. சார்பற்றது - நெறிமுறையானது படிநிலை வழிமுறைகளைக் கொண்டிருக்க வேண்டும்.
அது எந்த நிரலாக்க குறிமுறையை சாராமல் இருக்க வேண்டும்.
2. வரிசைமுறை தேடல் நெறிமுறையை
விவாதிக்கவும்.
விடை. வரிசைமுறைத் தேடல் : வரிசைமுறைத் தேடல் அல்லது தொடர் தேடல் பட்டியலில்
விரும்பும் உறுப்பைக் கண்டுபிடிக்கும் வரை அல்லது பட்டியல் முடியும் வரை வரிசையிலுள்ள
ஒவ்வொரு உறுப்புகளையும் சரிபார்த்து, குறிப்பிட்ட மதிப்பைப் பட்டியலில் கண்டுபிடிக்கும்
வழிமுறையாகும். பட்டியலை வரிசைப்படுத்த வேண்டிய தேவை இல்லை
போலி குறிமுறை :
(i) for மடக்கினைப் பயன்படுத்தி அணியில் பயணித்தல்.
(ii) ஒவ்வொரு சுழற்சியிலும், இலக்கு மதிப்பை தற்போதைய மதிப்புடன் ஒப்பிடவும்.
* மதிப்புகள் பொருத்தமாக இருந்தால் அணியின் தற்போதைய சுட்டெண்ணைத் திருப்பி
அனுப்பும்.
* மதிப்புகள் பொருந்தாவிட்டால் அணியில் அடுத்துள்ள உறுப்புக்கு சென்று
விடும்.
(iii) பொருத்தம் எதுவும் இல்லையென்றால், -1 மதிப்பைத் திருப்பி அனுப்பும்.
கீழே கொடுக்கப்பட்டுள்ள அணியில் 25 என்ற எண்ணைத் தேடுவதற்தற்கு, வரிசைமுறைத்
தேடலானது படிப்படியாக தொடர் வரிசையில் கொடுக்கப்பட்ட அணியின் முதல் உறுப்பிலிருந்து
தேடலைத் தொடங்கும். தேடப்படும் உறுப்பு கண்டுப்பிடிக்கப்பட்டால் அந்த சுட்டெண் திரும்ப
அனுப்பப்படும். இல்லையெனில், அணியின் இறுதி சுட்டெண் வரை தேடல் தொடரும் வரை தேடல் தொடரும்
இந்த எடுத்துக்காட்டில், எண் 25 சுட்டெண் 3-ல் காணப்படுகிறது.
எடுத்துக்காட்டு 1:
Input: values[ ] = {5, 34, 65, 12, 77, 35}
target=77
Output: 4
எடுத்துக்காட்டு 2:
Input: values[ ] = {101, 392, 1, 54, 32, 22, 90, 93}
target = 200
Output: -1 (not found)
3. இருமத் தேடல் என்றால் என்ன?
எடுத்துக்காட்டுடன் விளக்குக.
விடை. இருமத் தேடல் :
இருமத் தேடலை பாதி இடைவெளித் தேடல் நெறிமுறை என்றும் அழைக்கலாம். வரிசைப்படுத்தப்பட்ட
அணிக்குள் இலக்கு மதிப்பின் இருப்பிடத்தைக் கண்டுபிடிக்கிறது. பிரித்து-கைப்பற்றுதல்
நெறிமுறையைப் போல் இருமத் தேடலைச் செய்து மடக்கை நேரத்தில் நிறைவேற்றப்படும்.
இருமத் தேடலுக்கான போலி குறிமுறை :
1. மைய உறுப்பிலிருந்து தொடங்கவும் :
(i) இலக்கு மதிப்பும் அணியின் மைய உறுப்பும் நிகர் எனில் (அதாவது, மைய
இலக்கு = உறுப்புகளின் எண்ணிக்கை /2) மைய உறுப்பின் சுட்டெண்ணைத் திருப்பி அனுப்பும்.
(ii) நிகரில்லை என்றால், மைய உறுப்பை மதிப்போடு ஒப்பிடவும்.
(iii) மைய சுட்டெண்ணிலுள்ள எண் இலக்கு மதிப்பை விட பெரியது எனில், மைய
சுட்டெண்ணிற்கு வலப்புறம் உள்ள உறுப்புகளைத் தேர்ந்தெடுத்து படிநிலை -1லிருந்து தொடங்கவும்.
(iv) மைய சுட்டெண்ணிலுள்ள எண் இலக்கு மதிப்பை விட சிறியது எனில் மைய
சுட்டெண்ணிற்கு இடப்புறம் உள்ள உறுப்புகளைத் தேர்ந்தெடுத்து படிநிலை -1 லிருந்து தொடங்கவும்.
2. பொருத்தமான தேடல் கண்டுபிடிக்கப்பட்டால், பொருந்திய உறுப்பின் சுட்டெண்ணைத்
திருப்பி அனுப்பும்.
3. பொருத்தம் இல்லையெனில், -1 என்ற மதிப்பைத் திருப்பி அனுப்பும் அல்லது
தேடல் நிறைவேற்றப்படவில்லை என்ற தகவலை அறிவிக்கவும்.
இருமத் தேடல் இயங்கும் கோட்பாடுகள் :
(i) இருமத்தேடலில் பயன்படும் அணி வரிசையாக்கம் செய்யப்பட்ட அணியாகயிருக்க
வேண்டும். இருமத் தேடலைப் பயன்படுத்தி மதிப்பு 60-ன் இருப்பிடத்தைத் தேடுவதாக எடுத்துக்கொள்வோம்.
(ii) முதலில் நாம் அணியின் மைய உறுப்பை mid = low + (high - low) /
2 என்ற வாய்ப்பாட்டைப் பயன்படுத்தித் தீர்மானிக்க வேண்டும். இங்கு , 0 + (9 - 0 )
/ 2 = 4 (4.5 யின் முழு மதிப்பு எடுத்துக்கொள்ளவும்). அதனால் அணியின் மையம் 4 ஆகும்.
(iii) இப்பொழுது நாம் 4-ம் சுட்டெண் இருப்பிடத்தில் சேமிக்கப்பட்ட மதிப்போடு
தேடப்படும் மதிப்பை (அதாவது, 60) ஒப்பிடு செய்வோம். 4-ம் சுட்டெண் இருப்பிடத்தில் உள்ள
மதிப்பான 50 என்பது, இது தேடப்படும் மதிப்பு கிடையாது. தேடப்படும் மதிப்பானது 50-விட
அதிகமாக இருப்பதால்
(iv) low மதிப்பை m + 1 என மாற்றி புதிய mid மதிப்பை மறுபடியும் கண்டுபிடிக்க
வேண்டும்.
low to mid +1
mid = low + (high - low) / 2
(v) இப்பொழுது நமது mid மதிப்பு 7 ஆகும். நாம் இருப்பிடம் 7-ல் சேமிக்கப்பட்ட
மதிப்பை இலக்கு மதிப்போடு (அதாவது 60) ஒப்பிடுவோம்.
(vi) இருப்பிடம் 7ல் சேமிக்கப்பட்ட மதிப்பு தேடப்படும் மதிப்பு கிடையாது.
மாறாக, நாம் தேடுவதை விட அதிகமான மதிப்பாக இருக்கிறது. எனவே, தேடப்படும் மதிப்பு இந்த
இருப்பிடத்தை விட குறைவான பகுதியில் இருக்க வேண்டும்.
(vii) எனவே, நாம் mid மதிப்பைத் திரும்பவும் கணக்கீடு செய்ய வேண்டும்.
high = mid-1
mid=low+(high - low)/2 தற்பொழுது
mid மதிப்பு 5 ஆகும்.
(viii) நாம் இருப்பிடம் 5-ல் உள்ள சேமிக்கப்பட்ட மதிப்பை இலக்கு மதிப்போடு
ஒப்பீடு செய்வோம். இது ஒரு சரியான் பொருத்தமாகும்.
(ix) இலக்கு மதிப்பு 60, இருப்பிடம் 5-ல் சேமிக்கப்பட்டுள்ளது என்று
நாம் முடிவு செய்கிறோம். எடுத்துக்காட்டாக, இலக்கு மதிப்பு 95 எனில், இந்த செயல்முறை
-1 என்ற மதிப்பைத் திருப்பி அனுப்பும்.
4. குமிழி வரிசையாக்க நெறிமுறையை
எடுத்துக்காட்டுடன் விளக்குக.
விடை. குமிழி வரிசையாக்க நெறிமுறை (Bubble Sort Algorithm) :
(i) குமிழி வரிசையாக்கம் ஒரு எளிமையான வரிசையாக்க நெறிமுறை ஆகும். வரிசைப்
படுத்தப்பட்ட பட்டியலின் படிநிலைகளை மீண்டும் மீண்டும் செய்து, ஒவ்வொரு ஜோடி அருகிலுள்ள
உருப்படிகளை ஒப்பீடு செய்து, வரிசையாக்கம் செய்யப்படாத வரிசை எனில் அவற்றை இடமாற்றம்
செய்யும்.
(ii) இடமாற்றம் தேவைப்படும் வரை அவை மீண்டும் மீண்டும் பட்டியலிடப்படும்.
இது பட்டியல் வரிசையாக்கம் செய்யப்பட்டுள்ளது என்பதைக் குறிக்கும்.
(iii) இந்த ஒப்பீட்டு வரிசையாக்கம் நெறிமுறையில் பட்டியலின் மேல் பகுதியில்
குமிழியைப் போல் சிறிய உறுப்புகளை அமைக்கும் முறையினால் இதற்கு இந்த பெயரிடப்பட்டது.
(vi) இந்தநெறிமுறை எளிமையானதாக இருந்த போதிலும், இது மிகவும் மெதுவானது
மற்றும் செருகும் வரிசையாக்கத்தோடு (insertion sort) ஒப்பீடு செய்யும் போது இது சாத்தியமற்றதாகும்.
(v) n உறுப்புகளை கொண்ட அணியை கருதிக்கொள்ளவும் இடமாற்ற செயல்முறை
(swap function) மதிப்புகளை இடமாற்றம் செய்யும்.
போலி குறிமுறை :
(i) முதல் உறுப்புடன் (சுட்டெண் = 0), அணியின் தற்போதைய உறுப்போடு அடுத்த
உறுப்பை ஒப்பீடு செய்யவும்.
(ii) தற்போதைய உறுப்பு அடுத்த உறுப்பை விட அதிகம் எனில், அவற்றை இடமாற்றம்
செய்யவும்.
(iii) தற்போதைய உறுப்பு அடுத்த உறுப்பை விட சிறியது எனில், அடுத்த உறுப்பிற்கு
செல்லவும் மீண்டும் படிநிலை -1லிருந்து தொடங்கவும். {15, 11, 16, 12, 14, 13} மதிப்புகளோடு
கூடிய அணியை எடுத்துக் கொள்வோம்.
(iv) கீழே குமிழி வரிசையாக்கம் கொடுக்கப்பட்ட அணியை எவ்வாறு வரிசையாக்கம்
செய்கிறது என்பதற்கான விளக்கப்படம் கீழே கொடுக்கப்பட்டுள்ளது.
(v), எனவே, மேலே குறிப்பிடப்பட்டுள்ளதை முதல் சுழற்சி படமாகும். இதேபோல்,
எல்லா சுழற்சி செய்யப்படும். இறுதி சுழற்சிக்கு பிறகு வரிசையாக்கம் செய்யப்பட்ட அணியை
கொடுக்கும். அந்த அணி இவ்வாறு இருக்கும்.
(vi) அதைப்போலவே, இரண்டாவது சுழற்சிக்குப்பிறகு 5 என்ற மதிப்பு இரண்டாவது
இறுதி சுட்டெண்ணில் இருத்தி வைக்கப்படும். இப்படியாக பிற மதிப்புகளுக்கும் செய்யப்படும்.
5. இயங்கு நிரலாக்கத்தின் கருத்துருவை பொருத்தமான எடுத்துக்காட்டுடன் விளக்கவும்.
விடை. இயங்கு நிரலாக்கம் :
(i) இயங்கு நிரலாக்கம் என்பது ஒரு சிக்கலுக்கு தீர்வுகான வரிசையான முடிவுகளின்
மூலம் செயல்படுத்தப்படும் நெறிமுறை வடிவ முறையாகும்.
(ii) இயங்கு நிரலாக்க அணுகுமுறை கொடுக்கப்பட்ட சிக்கலை சிறிய சிக்கல்களாகப்
பிரிப்பதில் பிரித்து கைப்பற்றுதல் முறை சிக்கலை சிறு - சிறு சிக்கலாக பிரித்து செயல்படுத்துவதாகும்.
(iii) இயங்கு நிரலாக்கத்தை எங்கு சிக்கல்கள் உள்ளதோ அங்கு பயன்படுத்தலாம்.
(iv) சிக்கல்களை ஒரே மாதிரியான துணை சிக்கல்களாக பிரிப்பதனால், அதன்
மூலம் கிடைக்கும் தீர்வை மீண்டும் பயன்படுத்தலாம். பெரும்பாலும், இந்த நெறிமுறைகள்
உகந்த தீர்வாகப் பயன்படுத்தப்படுகிறது.
(v) கையில் உள்ள துணை சிக்கல் தீர்ப்பதற்கு முன் இந்த செயல்முறையானது
ஏற்கனவே தீர்வு காணப்பட்ட துணை சிக்கல்களின் முடிவுகளை ஆராய முயற்சிக்கும்.
(vi) மிகச் சிறந்த தீர்வை அடைவதற்கு துணை சிக்கல்களின் தீர்வுகளை ஒன்றிணைத்தல்
வேண்டும்.
இயங்கு நிரலாக்கத்தின் படிநிலைகள் :
(i) சிக்கல்களை சிறிய ஒன்றோடு ஒன்றிணைந்த துணை சிக்கல்களாகப் பிரிக்க
வேண்டும்.
(ii) சிறிய துணை சிக்கல்களின் உகந்த தீர்வைப் பயன்படுத்தி, சிக்கலின்
உகந்த தீர்வை அடைய வேண்டும்.
(iii) இயங்கு நிரலாக்கம் நினைவிருத்தலை (Memoization) பயன்படுத்துகிறது.
1. பைபோனாசி வரிசை (Fibonacci Series) - ஓர் எடுத்துக்காட்டு :
(i) பைபோனாசி வரிசையானது முந்தைய இரண்டு எண்களை கூட்டி அடுத்தடுத்த
எண்களை உருவாக்கும்.
(ii) பைபோனாசி வரிசை Fib0 மற்றும் Fib1 ஆகிய இரண்டு எண்களுடன் தொடங்கும்.
Fib0 மற்றும் Fib1 தொடக்க மதிப்பு 0,1 எடுத்துக்கொள்வோம்.
பின்வரும் நிபந்தனைகளை பைபோனாசி வரிசை நிறைவேற்றும்:
Fibn = Fibn-1 + Fibn-2
n-ன் மதிப்பு 8 ஆக உள்ளபோது பைபோனாசி வரிசை இவ்வாறு தோன்றும்.
Fib8 = 0 1 1 2 3 5 8 13
2. பைபோனாசி சுழற்சி நெறிமுறை (Fibonacci) - இயங்கு நிரலாக்க முறையில்
இயக்கு நிரலாக்க முறையில்
முதலில் நாம், பைபோனாசி வரிசைக்கு சுழற்சி நெறிமுறையை வரையறுக்க முயற்சி
செய்யலாம். f0=0, fl=1 என தொடக்க மதிப்பிருத்தல் வேண்டும்
படிநிலை-1: Print the initial values of Fibonacci f0 and f1
படிநிலை-2: fib ←f0 + f1 என மதிப்பிருத்தல் வேண்டும்
படிநிலை-3: மதிப்பிருத்தல் f0 ← f1, f1 -- fib
படிநிலை-4: பைபோனாசியின் அடுத்த மதிப்பை fib காண்பிக்கவும்
படிநிலை-5: குறிப்பிட்ட வரிசை உருவாகும் படிநிலை-2 வரை திரும்பச் செய்தல்
உள்ளீடு n = 10
10 இலக்க வரை பைபோனாசி நெறிமுறை கீழே கொடுக்கப்பட்டுள்ளது:
பைபோனாசி வரிசை : 0 1 1 2 3 5 8 13 21 34 55