ஒன்றிணைத்தல் வகை என்ன? ஒன்றிணைத்தல் என்பது ஒரு ஒப்பீட்டு அடிப்படையிலான வரிசையாக்க வழிமுறை ஆகும், இது பிளவு மற்றும் வெற்றி வகைக்கு சொந்தமானது. பிளவு மற்றும் வெற்றி மூலோபாயத்தின் அடிப்படையில் ஒரு வரிசையை வரிசைப்படுத்த ஒன்றிணைத்தல் வரிசை பயன்படுத்தப்படுகிறது, இது இந்த இடுகையில் சுருக்கமாக விவரிக்கப்படும், அதன் வழிமுறை போன்ற பிற கருத்துகளுடன் ஒரு எடுத்துக்காட்டுடன். சி ++ இல் ஒன்றிணைப்பு வரிசையின் நேர சிக்கலையும் பார்ப்போம்
இந்த கட்டுரையில் பின்வரும் சுட்டிகள் விவரிக்கப்படும்,
- அல்காரிதத்தை பிரித்து வெல்லுங்கள்
- ஒன்றிணைத்தல் வகை அல்காரிதத்தை ஒரு எடுத்துக்காட்டுடன் புரிந்துகொள்வது
- வரிசைப்படுத்துவதற்கான சூடோகுறியீடு
- வரிசைப்படுத்தலுக்கான சி ++ இல் நிரல்
- வரிசைப்படுத்துவதற்கான நேர சிக்கலானது
சி ++ இல் வரிசைப்படுத்து குறித்த இந்த கட்டுரையுடன் நகரும்
வழிமுறையைப் பிரித்து வெல்லுங்கள்
புதைமணல் எவ்வாறு இயங்குகிறது என்பதை நீங்கள் ஏற்கனவே அறிந்திருந்தால், பிளவு மற்றும் வெற்றி மூலோபாயத்தைப் பற்றி நீங்கள் அறிந்திருக்கலாம். பிரித்தல் மற்றும் வெற்றி மூன்று முக்கிய படிகளை உள்ளடக்கியது. இந்த படிகளைப் புரிந்துகொள்வதற்கு வணக்கம் [] குறியீட்டை ‘அ’ தொடங்கி, குறியீட்டு ‘என்’ ஐக் கொண்டிருப்பதைக் கருத்தில் கொள்வோம், எனவே எங்கள் வரிசையை பின்வரும் வழியில் எழுதலாம் ஹலோ [அ & ஹெலிப்..என்]
வகுத்தல்- கொடுக்கப்பட்ட சிக்கலை துணைப் பிரச்சினைகள் அல்லது துணைப் பகுதிகளாகப் பிரிப்பதே பிரதான நகர்வு அல்லது பிளவு மற்றும் வெற்றியின் பிரதான படி. இங்கே பிடிப்பது என்னவென்றால், துணை சிக்கல்கள் அசல் சிக்கலுக்கு ஒத்ததாகவும், சிறிய அளவிலும் இருக்க வேண்டும். எங்கள் விஷயத்தில், எங்கள் வரிசையை 2 பகுதிகளாகப் பிரிப்போம் [a & hellip.m] [m + 1 & hellip..n] m a மற்றும் n குறியீட்டின் நடுவில் உள்ளது
வெற்றி- எங்கள் பிரச்சினையை துணைப் பிரச்சினைகளாகப் பிரித்தவுடன். இந்த துணை சிக்கல்களை நாங்கள் மீண்டும் மீண்டும் தீர்க்கிறோம்.
system.exit (1) ஜாவா
இணைத்தல்- இந்த கட்டத்தில், எங்கள் துணை சிக்கல்களின் அனைத்து தீர்வுகளையும் பொருத்தமான வழியில் இணைக்கிறோம். வேறு வார்த்தைகளில் கூறுவதானால், 2 வெவ்வேறு வரிசைப்படுத்தப்பட்ட வரிசைகளை ஒன்றிணைத்து ஒரு வரிசைப்படுத்தப்பட்ட வரிசையை உருவாக்குகிறோம். அங்கே எங்கள் வரிசைப்படுத்தப்பட்ட வரிசை உள்ளது.
சி ++ இல் வரிசைப்படுத்து குறித்த இந்த கட்டுரையுடன் நகரும்
ஒன்றிணைத்தல் வரிசை அல்காரிதத்தை ஒரு எடுத்துக்காட்டுடன் புரிந்துகொள்வது
இந்த கட்டத்தில், ஒன்றிணைப்பு வரிசையால் என்ன அணுகுமுறை பயன்படுத்தப்படும் என்பதை நாங்கள் அறிவோம். எனவே, ஒரு எடுத்துக்காட்டைக் கருத்தில் கொண்டு, ஹலோ [] இலிருந்து வரிசைப்படுத்தப்பட்ட வரிசைக்கு வரிசைப்படுத்தப்பட்ட ஒவ்வொரு அடியிலும் செல்லலாம்.
எடுத்துக்காட்டு- வணக்கம் [10, 3, 7, 1, 15, 14, 9, 22]
மேலே உள்ள படத்தில், வரிசைப்படுத்தப்படாத வரிசையை நாங்கள் கருத்தில் கொண்டு, வரிசைப்படுத்தப்பட்ட வரிசையைப் பெற ஒன்றிணைப்பு வரிசையைப் பயன்படுத்தினோம். இப்போது, ஒவ்வொரு அடியையும் பார்த்து முழு வழிமுறையையும் புரிந்துகொள்வோம்
1. முதலில், ஒரு வரிசையை வணக்கம் [10, 3, 7, 1, 15, 14, 9, 22] இந்த வரிசையில் மொத்தம் 8 கூறுகள் உள்ளன
2. முந்தைய ஒன்றிணைவு வரிசையானது, கூறுகளை வரிசைப்படுத்த பிளவு மற்றும் வெற்றி அணுகுமுறையைப் பயன்படுத்துகிறது. எங்கள் வரிசையின் நடுவில் அமைந்துள்ள m ஐக் கண்டறிந்து, எங்கள் வரிசையை நடுவில் இருந்து பிரித்தோம், அங்கு m = (a - n) / 2 'a' என்பது இடதுபுற உறுப்புக்கான குறியீடாகும், n என்பது எங்கள் வரிசையின் வலதுபுற உறுப்பு குறியீடாகும் .
3. முதல் பிரிவுக்குப் பிறகு, தலா 4 கூறுகளைக் கொண்ட 2 பாகங்கள் உள்ளன. முதல் பாதியைப் பார்ப்போம் [10, 3, 7, 1].
4. [10, 3, 7, 1] ஐ 2 பகுதிகளாக [10, 3] மற்றும் [7, 1] பிரிக்கிறோம். அதன் பிறகு அவற்றை மேலும் [10], [3], [7], [1] எனப் பிரிக்கிறோம். மீ கணக்கிட முடியாததால் மேலும் பிரிவு சாத்தியமில்லை. ஒற்றை உறுப்பு கொண்ட பட்டியல் எப்போதும் வரிசைப்படுத்தப்பட்டதாக கருதப்படுகிறது.
5. இணைத்தல் எவ்வாறு நிகழ்கிறது? நாம் கண்டுபிடிக்கலாம். முதல் [10] மற்றும் [3] ஒப்பிடுகையில் மற்றும் ஏறும் வரிசையில் [3, 10] ஒன்றிணைக்கப்படுகின்றன [1, 7]
6. அதன் பிறகு, [3, 10] மற்றும் [1, 7] ஐ ஒப்பிடுகிறோம். ஒப்பிட்டுப் பார்த்தால், அவற்றை ஏறுவரிசையில் ஒன்றிணைக்கிறோம், மேலும் [1, 3, 7, 10] கிடைக்கும்.
7. [15, 14, 9, 2] பிரிக்கப்பட்டு ஒரே மாதிரியாக ஒன்றிணைக்கப்படுகின்றன [9, 14, 15, 22].
php 7 ஐ எவ்வாறு நிறுவுவது
8. கடைசி கட்டத்தில் [15, 14, 9, 2] [9, 14, 15, 22] ஐ ஒப்பிட்டு இணைத்து எங்கள் வரிசைப்படுத்தப்பட்ட வரிசையை எங்களுக்கு வழங்குகிறோம்அதாவது [1, 3, 7, 9, 10, 14, 15, 22].
சி ++ இல் வரிசைப்படுத்து குறித்த இந்த கட்டுரையுடன் நகரும்
வரிசைப்படுத்துவதற்கான சூடோகுறியீடு
விட்டால் தொடங்குங்கள்MergeSort () செயல்பாடு எங்கள் வரிசையை ஒரு தனிமமாக மாறும் வரை வரிசைப்படுத்த தன்னை மீண்டும் அழைக்கிறது மற்றும் வரிசைப்படுத்தப்பட்ட வரிசைகளை ஒன்றிணைக்க செயல்பாடு ஒன்றிணைத்தல் () பயன்படுத்தப்படுகிறது.
சி ++ இல் வரிசைப்படுத்து குறித்த இந்த கட்டுரையுடன் நகரும்
சி ++ இல் வரிசை நிரலை இணைக்கவும்
#include #include # பெயர்வெளியைப் பயன்படுத்துதல் std void merge (int a [], int Firstindex, int m, int Lastindex) // பிரிவு வெற்றிட ஒன்றிணைப்பு (int a [], int Firstindex, int Lastindex) {if (Firstindexsize int வணக்கம் [அளவு], நான் cout<<'Enter the elements of the array one by one:n' for(i=0 i>வணக்கம் [i] mergeSort (ஹலோ, 0, அளவு - 1) கோட்<<'The Sorted List isn' for(i=0 i வெளியீடு-
சி ++ இல் வரிசைப்படுத்து குறித்த இந்த கட்டுரையுடன் நகரும்
நேர சிக்கலானது
வழிமுறைகளைப் பற்றி நாம் பேசும்போது கருத்தில் கொள்ள வேண்டிய முக்கியமான அம்சம் நேர சிக்கலானது. ஒன்றிணைத்தல் மற்ற வரிசையாக்க வழிமுறைகளுடன் ஒப்பிடும்போது சிறந்த நேர சிக்கலானதாக கருதப்படுகிறது.
மோசமான வழக்கு இயங்கும் நேரம்- O (n log n)
சிறந்த வழக்கு இயங்கும் நேரம்- O (n log n)
இயங்கும் சராசரி நேரம்- O (n log n)இதன் மூலம், சி ++ கட்டுரையில் இந்த ஒன்றிணைப்பு வரிசையின் முடிவுக்கு வருகிறோம். நீங்கள் மேலும் அறிய விரும்பினால், பாருங்கள் எடூரேகா, நம்பகமான ஆன்லைன் கற்றல் நிறுவனம். எடுரேகாவின் ஜாவா ஜே 2 இஇ மற்றும் எஸ்ஓஏ பயிற்சி மற்றும் சான்றிதழ் பாடநெறி, முக்கிய மற்றும் மேம்பட்ட ஜாவா கருத்தாக்கங்களுக்கும், ஹைபர்னேட் & ஸ்பிரிங் போன்ற பல்வேறு ஜாவா கட்டமைப்புகளுக்கும் பயிற்சி அளிக்க வடிவமைக்கப்பட்டுள்ளது.
எங்களுக்கு ஒரு கேள்வி கிடைத்ததா? தயவுசெய்து இந்த வலைப்பதிவின் கருத்துகள் பிரிவில் குறிப்பிடவும், விரைவில் நாங்கள் உங்களைத் தொடர்புகொள்வோம்.