ஜாவாவில் குவிக்சார்ட்டை எவ்வாறு செயல்படுத்துவது?

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

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

இந்த கட்டுரையில் பின்வரும் சுட்டிகள் விவரிக்கப்படும்,





நிரல் ஜாவாவிலிருந்து வெளியேறுவது எப்படி

ஆரம்பித்துவிடுவோம்!

சிக்கல்களை துணைப் பிரச்சினைகளாகப் பிரிக்கும்போது மனதில் கொள்ள வேண்டிய ஒரு விஷயம் என்னவென்றால், துணைப் பிரச்சினைகளின் அமைப்பு அசல் சிக்கலைப் போல மாறாது.
வகுத்தல் மற்றும் வெற்றி அல்காரிதம் 3 படிகளைக் கொண்டுள்ளது:



  • வகுத்தல்: சிக்கலை துணைப் பிரச்சினைகளாக உடைத்தல்
  • வெற்றி: துணை சிக்கல்களை மீண்டும் மீண்டும் தீர்க்கும்
  • இணைத்தல்: இறுதி முடிவைப் பெற தீர்வுகளை இணைத்தல்

படம்- ஜாவாவில் விரைவான வரிசை- எடுரேகா

பிளவு & வெற்றி முன்னுதாரணத்தின் அடிப்படையில் பல்வேறு வழிமுறைகள் உள்ளன. விரைவான வரிசைப்படுத்தல் மற்றும் ஒன்றிணைத்தல் வரிசைப்படுத்தல் அவற்றில் அடங்கும்.

குவிக்சார்ட்டின் மிக மோசமான நேர சிக்கலானது O (n2) ஆகும், இது ஒன்றிணைத்தல் வரிசை மற்றும் குவியல் வரிசைப்படுத்தல் போன்ற பல வரிசைப்படுத்தும் வழிமுறைகளை விட அதிகமாக இருந்தாலும், குவிக்சோர்ட் நடைமுறையில் வேகமாக உள்ளது, ஏனெனில் அதன் உள் வளையத்தை பெரும்பாலான கட்டமைப்புகளில் திறம்பட செயல்படுத்த முடியும், மற்றும் பெரும்பாலானவற்றில் நிஜ உலக தரவு.



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

  • முதல் உறுப்பைத் தேர்ந்தெடுப்பது
  • கடைசி உறுப்பைத் தேர்ந்தெடுக்கவும்
  • ஒரு சீரற்ற உறுப்பு எடுப்பது
  • சராசரி உறுப்பு எடுப்பது

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

குவிக்சார்ட் வழிமுறையின் செயல்பாட்டை இப்போது புரிந்துகொண்டுள்ளோம். ஜாவாவில் குவிக்சோர்ட் வழிமுறையை எவ்வாறு செயல்படுத்துவது என்பதைப் புரிந்துகொள்வோம்.

CSS இல் ஹோவர் பயன்படுத்துவது எப்படி

குவிக்சார்ட் செயல்பாடு:

/ * குவிக்சோர்ட் செயல்பாட்டிற்கு வரிசை மிகக் குறைந்த மற்றும் உயர்ந்த குறியீட்டுடன் வரிசைப்படுத்தப்பட வேண்டும் * /

void sort (int arr [], int lowIndex, int highIndex) {// lowIndex = highIndex if (lowIndex)

பகிர்வு குறியீடு எவ்வாறு இயங்குகிறது என்பதைப் புரிந்துகொள்வோம்.

பகிர்வு குறியீடு

பகிர்வு குறியீட்டில், கடைசி உறுப்பை பிவோட் உறுப்பு என்று தேர்ந்தெடுப்போம். நாங்கள் முழுமையான வரிசையை கடந்து செல்கிறோம் (அதாவது எங்கள் விஷயத்தில் மாறி j ஐப் பயன்படுத்துதல்). வரிசையில் கடைசி மிகச்சிறிய உறுப்பைக் கண்காணிக்கிறோம் (அதாவது, எங்கள் விஷயத்தில் மாறி i ஐப் பயன்படுத்துதல்). பிவோட்டை விட சிறிய எந்த உறுப்பையும் நாங்கள் கண்டால், ஸ்வாப் நடப்பு உறுப்பை ஒரு [j] ஐ ஆர் [i] உடன் நகர்த்துவோம், இல்லையெனில் நாம் தொடர்ந்து பயணிக்கிறோம்.

int பகிர்வு (int arr [], int lowIndex, int highIndex) {// கடைசி உறுப்பை பிவோட் ஆக மாற்றுவது int pivot = arr [highIndex] // பிவோட் int i = (lowIndex-1) இலிருந்து சிறிய கூறுகளைக் கண்காணிக்க i ஐப் பயன்படுத்துதல் for (int j = lowIndex j

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

குவிக்சார்ட் ஜாவா குறியீடு

class QuickSort Part // பகிர்வு முறை int பகிர்வு (int arr [], int lowIndex, int highIndex) {int pivot = arr [highIndex] int i = (lowIndex-1) for (int j = lowIndex j

// வரிசைப்படுத்தும் முறை

c ++ இல் பெயர்வெளிகள்
void sort (int arr [], int lowIndex, int highIndex) {if (lowIndex

// வரிசையை அச்சிடும் முறை

நிலையான வெற்றிட அச்சு அச்சு (int arr []) {int n = arr.length for (int i = 0 i

// பிரதான முறை

பொது நிலையான வெற்றிட மெயின் (சரம் ஆர்க்ஸ் []) {int arr [] = {101, 37, 68, 29, 11, 5} int n = arr.length QuickSort ob = new QuickSort () ob.sort (arr, 0, n-1) System.out.println ('வரிசைப்படுத்தப்பட்ட வரிசை') printArray (arr)}}

வெளியீடு:

வெளியீடு- ஜாவாவில் விரைவான வரிசை- எடுரேகா

இப்போது மேலே உள்ள ஜாவா நிரலை இயக்கிய பிறகு, குவிக்சோர்ட் எவ்வாறு இயங்குகிறது மற்றும் ஜாவாவில் அதை எவ்வாறு செயல்படுத்தலாம் என்பதை நீங்கள் புரிந்துகொண்டிருப்பீர்கள்.இவ்வாறு ‘ஜாவாவில் குவிக்சோர்ட்’ குறித்த இந்த கட்டுரையின் முடிவுக்கு வந்துள்ளோம். நீங்கள் மேலும் அறிய விரும்பினால்,பாருங்கள் எடூரேகா, நம்பகமான ஆன்லைன் கற்றல் நிறுவனம். எடுரேகாவின் ஜாவா ஜே 2 இஇ மற்றும் எஸ்ஓஏ பயிற்சி மற்றும் சான்றிதழ் பாடநெறி, முக்கிய மற்றும் மேம்பட்ட ஜாவா கருத்தாக்கங்களுக்கும், ஹைபர்னேட் & ஸ்பிரிங் போன்ற பல்வேறு ஜாவா கட்டமைப்புகளுக்கும் பயிற்சி அளிக்க வடிவமைக்கப்பட்டுள்ளது.

எங்களுக்கு ஒரு கேள்வி கிடைத்ததா? தயவுசெய்து இந்த வலைப்பதிவின் கருத்துகள் பிரிவில் குறிப்பிடவும், விரைவில் நாங்கள் உங்களைத் தொடர்புகொள்வோம்.