செருகும் வரிசைமுறைக்கான அறிமுகம்

செருகும் வரிசைமுறைக்கான அறிமுகம்

செருகல் வரிசைப்படுத்தல் என்பது ஒரு வரிசைப்படுத்தப்பட்ட துணைப்பட்டியலைப் பயன்படுத்தி, வரிசைப்படுத்தப்படாத பட்டியலிலிருந்து தொடர்ச்சியாக ஒரு மதிப்பைச் சேர்த்து, முழுப் பட்டியலையும் வரிசைப்படுத்தும் வரை செயல்படும் ஒரு நுட்பமாகும்.





வரிசைப்படுத்தப்பட்ட துணைப்பட்டியலாக முதல் பட்டியல் உருப்படியுடன் அல்காரிதம் தொடங்குகிறது. அது அடுத்த எண்ணை முதல் எண்ணுடன் ஒப்பிடுகிறது. அது அதிகமாக இருந்தால், அது முதல் குறியீட்டில் செருகப்படும். இல்லையெனில், அது அதன் குறியீட்டில் விடப்படும்.





மூன்றாவது மதிப்பு மற்ற இரண்டோடு ஒப்பிடப்பட்டு, பின்னர் சரியான குறியீட்டில் செருகப்படும். முழு பட்டியலும் வரிசைப்படுத்தப்படும் வரை இந்த செயல்முறை தொடர்கிறது.





செருகும் வரிசையை ஒரு நெருக்கமான பார்வை

மேலே உள்ள விளக்கம் உங்களுக்கு புரியாமல் இருக்கலாம். ஒரு உதாரணம் உங்களுக்கு நன்றாக புரிந்துகொள்ள உதவும்.

உங்களிடம் ஒரு பட்டியல் இருப்பதாக வைத்துக்கொள்வோம்: [39, 6, 2, 51, 30, 42, 7].



வரிசைப்படுத்தப்பட்ட துணைப்பட்டியலின் முதல் மதிப்பு 39 ஐ அல்காரிதம் அடையாளம் காட்டுகிறது. மதிப்பீடு பின்னர் இரண்டாவது இடத்திற்கு செல்கிறது.

தொடர்புடையது: டைனமிக் புரோகிராமிங்: உதாரணங்கள், பொதுவான பிரச்சனைகள் மற்றும் தீர்வுகள்





6 பின்னர் 39 உடன் ஒப்பிடப்படுகிறது. 6 39 க்கும் குறைவாக இருப்பதால், முதல் இடத்தில் 6 மற்றும் இரண்டாவது இடத்தில் 39 சேர்க்கப்பட்டுள்ளது. முதல் பாஸ் ஆன பிறகு புதிய பட்டியல் ஆர்டர்:

[6, 39, 2, 51, 30, 42, 7]





மதிப்பீடு இப்போது மூன்றாவது இடத்திற்கு மாறுகிறது. 2 கடைசி இரண்டு எண்களுடன் ஒப்பிட்டு பின்னர் சரியான நிலையில் செருகப்படுகிறது. புதிய பாஸ் ஆர்டர் இரண்டாவது பாஸ் ஆன பிறகு:

[2, 6, 39, 51, 30, 42, 7]

மூன்றாவது பாஸுக்கு, பட்டியல் ஆர்டர்:

[2, 6, 39, 51, 30, 42, 7]

முழு பட்டியலும் வரிசைப்படுத்தப்படும் வரை செயல்முறை மீண்டும் செய்யப்படுகிறது.

இந்த செயல்பாடுகளை சுருக்கமாக கீழே உள்ள வரைபடத்தைப் பார்க்கவும்:

அல்காரிதம் பகுப்பாய்வு

செருகும் வரிசையின் நேர சிக்கலானது O (n2), போலவே குமிழி வரிசை . மோசமான சூழ்நிலையில் உள்ள ஒப்பீடுகளின் எண்ணிக்கை 1 முதல் (n-1) வரையிலான அனைத்து முழு எண்களின் கூட்டுத்தொகையாகும்.

குறியீடு செயல்படுத்தல்

கீழேயுள்ள பைதான் மற்றும் ஜாவா குறியீடு நீங்கள் செருகும் வரிசை முறையை எவ்வாறு செயல்படுத்தலாம் என்பதைக் காட்டுகிறது.

மலைப்பாம்பு:

def insertionSort(mylist):
for step in range(1, len(mylist)):
current_element = mylist[step]
position = step
while position > 0 and mylist[position - 1] > current_element:
mylist[position] = mylist[position - 1]
position = position - 1
mylist[position] = current_element

ஜாவா:

void insertionSort(int[] myarray) {
int n = myarray.length;
for (int x = 1; x int key = myarray[x];
int y = x-1;
while ( (y > -1) && ( myarray [y] > key ) ) {
myarray [y+1] = myarray [y];
y--;
}
myarray[y+1] = key;
}
}

சூடோகோட் மூலம் சிறந்த குறியீட்டு முறை

மேலே உள்ள குறியீட்டு எடுத்துக்காட்டுகள் எந்தப் போலி குறியீடும் இல்லாமல் கொடுக்கப்பட்டுள்ளன, இந்த வழிமுறையை மற்ற மொழிகளில் எழுத நீங்கள் குறிப்பிடலாம். பெரும்பாலான புரோகிராமர்கள் (ஆசிரியர் உட்பட) ஒரு புரோகிராம் எவ்வாறு செயல்படுகிறது என்பது பற்றி 'கிசுகிசுக்கள்' சொல்லப்பட்ட பிறகு தங்கள் விசைப்பலகைகளுக்கு ஓட விரும்புகிறார்கள்.

இந்த அணுகுமுறை துரதிர்ஷ்டவசமாக நிரல் தர்க்கம் மிகவும் சிக்கலானதாக இருப்பதால் பிழைகளுக்கு ஆளாகிறது. சூடோகோடை எப்படி பயன்படுத்துவது என்று கற்றுக்கொள்வதன் மூலம் உங்கள் நிரலாக்க விளையாட்டை எவ்வாறு நிலைநிறுத்த விரும்புகிறீர்கள்?

பகிர் பகிர் ட்வீட் மின்னஞ்சல் சூடோகோட் என்றால் என்ன, அது உங்களை எப்படி ஒரு சிறந்த டெவலப்பராக மாற்றுகிறது?

நிரலாக்கத்தைக் கற்க போராடுகிறீர்களா? போலி குறியீட்டை கற்றுக்கொள்வதன் மூலம் குறியீட்டைப் பிடிக்கவும். ஆனால் சூடோகோட் என்றால் என்ன, அது உண்மையில் உதவுமா?

அடுத்து படிக்கவும்
தொடர்புடைய தலைப்புகள்
  • நிரலாக்க
  • ஜாவா
  • பைதான்
  • குறியீட்டு பயிற்சிகள்
எழுத்தாளர் பற்றி ஜெரோம் டேவிட்சன்(22 கட்டுரைகள் வெளியிடப்பட்டன)

ஜெரோம் MakeUseOf இல் ஒரு எழுத்தாளர். அவர் நிரலாக்க மற்றும் லினக்ஸ் பற்றிய கட்டுரைகளை உள்ளடக்கியுள்ளார். அவர் ஒரு கிரிப்டோ ஆர்வலராகவும், கிரிப்டோ தொழிற்துறையில் எப்பொழுதும் தாவல்களை வைத்திருப்பார்.

யூ.எஸ்.பி விண்டோஸ் 7 ஐ துவக்கவும்
ஜெரோம் டேவிட்சனிடமிருந்து மேலும்

எங்கள் செய்திமடலுக்கு குழுசேரவும்

தொழில்நுட்ப குறிப்புகள், மதிப்புரைகள், இலவச மின் புத்தகங்கள் மற்றும் பிரத்யேக ஒப்பந்தங்களுக்கு எங்கள் செய்திமடலில் சேரவும்!

குழுசேர இங்கே சொடுக்கவும்