விரைவான வரிசைப்படுத்துதலுக்கும் வரிசைப்படுத்துதலுக்கும் உள்ள வேறுபாடு

நூலாசிரியர்: Laura McKinney
உருவாக்கிய தேதி: 1 ஏப்ரல் 2021
புதுப்பிப்பு தேதி: 13 மே 2024
Anonim
விரைவான வரிசைப்படுத்துதலுக்கும் வரிசைப்படுத்துதலுக்கும் உள்ள வேறுபாடு - தொழில்நுட்பம்
விரைவான வரிசைப்படுத்துதலுக்கும் வரிசைப்படுத்துதலுக்கும் உள்ள வேறுபாடு - தொழில்நுட்பம்

உள்ளடக்கம்


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

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

    1. ஒப்பீட்டு விளக்கப்படம்
    2. வரையறை
    3. முக்கிய வேறுபாடுகள்
    4. முடிவுரை

ஒப்பீட்டு விளக்கப்படம்

ஒப்பிடுவதற்கான அடிப்படைவிரைவான வரிசைவரிசைப்படுத்துதல்
வரிசையில் உள்ள உறுப்புகளின் பகிர்வுஉறுப்புகளின் பட்டியலைப் பிரிப்பது அவசியமாக பாதியாகப் பிரிக்கப்படாது.வரிசை எப்போதும் பாதியாக (n / 2) பிரிக்கப்படுகிறது.
மோசமான வழக்கு சிக்கலானதுஓ (n2)O (n log n)
நன்றாக வேலை செய்கிறதுசிறிய வரிசைஎந்த வகை வரிசையிலும் நன்றாக இயங்குகிறது.
வேகம்சிறிய தரவு தொகுப்புக்கான பிற வரிசையாக்க வழிமுறைகளை விட வேகமாக.அனைத்து வகையான தரவுத் தொகுப்புகளிலும் நிலையான வேகம்.
கூடுதல் சேமிப்பக இடம் தேவைகுறைவானமேலும்
திறன்பெரிய வரிசைகளுக்கு திறமையற்றது. மிகவும் திறமையானது.
வரிசைப்படுத்தும் முறைஉள்நாட்டுவெளி


விரைவான வரிசையின் வரையறை

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

A என்பது A, A, A, …… .., வரிசைப்படுத்தப்பட வேண்டிய n எண்ணின் ஒரு வரிசை என்று வைத்துக்கொள்வோம். விரைவான வரிசை வழிமுறை பின்வரும் படிகளை உள்ளடக்கியது.

  1. விசையாக தேர்ந்தெடுக்கப்பட்ட முதல் உறுப்பு அல்லது ஏதேனும் சீரற்ற உறுப்பு, விசை = A (1) என்று கருதுங்கள்.
  2. "குறைந்த" சுட்டிக்காட்டி இரண்டாவது இடத்தில் வைக்கப்படுகிறது மற்றும் "மேல்" சுட்டிக்காட்டி வரிசையின் கடைசி உறுப்பில் வைக்கப்படுகிறது, அதாவது குறைந்த = 2 மற்றும் மேல் = n;
  3. தொடர்ந்து (A> விசை) வரை “குறைந்த” சுட்டிக்காட்டி ஒரு நிலையில் அதிகரிக்கவும்.
  4. தொடர்ந்து, (அ <= விசை) வரை “மேல்” சுட்டிக்காட்டி ஒரு நிலையில் குறைக்கவும்.
  5. A உடன் குறைந்த பரிமாற்றம் A ஐ விட அதிகமாக இருந்தால்.
  6. படி 5 இல் உள்ள நிலை தோல்வியடையும் வரை (அதாவது மேலே <= குறைவானது) 3,4, மற்றும் 5 படிகளை மீண்டும் செய்யவும், பின்னர் விசையுடன் A ஐ பரிமாறவும்.
  7. விசையின் இடது உறுப்புகள் விசையை விட சிறியதாகவும், விசையின் வலது உறுப்புகள் விசையை விட பெரியதாகவும் இருந்தால், வரிசை இரண்டு துணை வரிசைகளாக பிரிக்கப்படுகிறது.
  8. முழு வரிசையும் வரிசைப்படுத்தப்படும் வரை மேற்கண்ட செயல்முறை மீண்டும் மீண்டும் துணைக்குழுக்களில் பயன்படுத்தப்படுகிறது.


நன்மைகள் மற்றும் தீமைகள்

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

ஒன்றிணைத்தல் வரிசையின் வரையறை

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

A, A, ………, A என வரிசைப்படுத்தப்பட வேண்டிய n உறுப்புகளின் வரிசையாக A இருக்கட்டும். ஒன்றிணைப்பு வரிசை கொடுக்கப்பட்ட படிகளைப் பின்பற்றுகிறது.

  1. வரிசை A ஐ தோராயமாக n / 2 வரிசைப்படுத்தப்பட்ட துணை வரிசைக்கு 2 ஆல் பிரிக்கவும், அதாவது (A, A), (A, A), (A, A), (A, A) துணை வரிசைகளில் உள்ள கூறுகள் கட்டாயம் வரிசைப்படுத்தப்பட்ட வரிசையில் இருங்கள்.
  2. அளவு 4 இன் வரிசைப்படுத்தப்பட்ட சப்ரேக்களின் பட்டியலைப் பெற ஒவ்வொரு ஜோடி ஜோடிகளையும் இணைக்கவும்; (A, A, A, A), ……, (A, A, A, A), ……., (A, A, A, A) வரிசையாக்க வரிசையில் உள்ளன.
  3. அளவு 2 இன் வரிசைப்படுத்தப்பட்ட வரிசை மட்டுமே இருக்கும் வரை படி 2 மீண்டும் மீண்டும் செய்யப்படுகிறது.

நன்மைகள் மற்றும் தீமைகள்

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

  1. ஒன்றிணைப்பு வரிசையில், வரிசை இரண்டு பகுதிகளாக பிரிக்கப்பட வேண்டும் (அதாவது n / 2). மாறாக, விரைவான வரிசையில், பட்டியலை சம கூறுகளாகப் பிரிக்க வேண்டிய கட்டாயம் இல்லை.
  2. விரைவான வரிசையின் மோசமான நிலை சிக்கலானது O (n2) இது மோசமான நிலையில் நிறைய ஒப்பீடுகளை எடுக்கும் என்பதால். இதற்கு நேர்மாறாக, ஒன்றிணைப்பு வரிசையானது அதே மோசமான நிலை மற்றும் சராசரி வழக்கு சிக்கல்களைக் கொண்டுள்ளது, அதாவது O (n log n).
  3. ஒன்றிணைத்தல் வரிசை என்பது பெரிய அல்லது சிறியதாக இருந்தாலும் எந்த வகையான தரவுத் தொகுப்புகளிலும் நன்றாக இயங்க முடியும். மாறாக, விரைவான வரிசைப்படுத்தல் பெரிய தரவுத்தொகுப்புகளுடன் நன்றாக வேலை செய்ய முடியாது.
  4. சிறிய தரவு தொகுப்புகள் போன்ற சில சந்தர்ப்பங்களில் ஒன்றிணைப்பதை விட விரைவான வரிசை வேகமாக உள்ளது.
  5. ஒன்றிணைப்பு வரிசைக்கு துணை வரிசைகளை சேமிக்க கூடுதல் நினைவக இடம் தேவைப்படுகிறது. மறுபுறம், விரைவான வரிசைக்கு கூடுதல் சேமிப்பகத்திற்கு அதிக இடம் தேவையில்லை.
  6. விரைவான வரிசையை விட ஒன்றிணைத்தல் வரிசைப்படுத்தல் மிகவும் திறமையானது.
  7. விரைவான வரிசையாக்கம் என்பது உள் வரிசையாக்க முறையாகும், அங்கு வரிசைப்படுத்தப்பட வேண்டிய தரவு முக்கிய நினைவகத்தில் ஒரு நேரத்தில் சரிசெய்யப்படுகிறது. மாறாக, ஒன்றிணைத்தல் என்பது வெளிப்புற வரிசையாக்க முறையாகும், இதில் வரிசைப்படுத்தப்பட வேண்டிய தரவை ஒரே நேரத்தில் நினைவகத்தில் இடமளிக்க முடியாது, சிலவற்றை துணை நினைவகத்தில் வைக்க வேண்டும்.

முடிவுரை

விரைவான வரிசையானது வேகமான நிகழ்வுகள், ஆனால் சில சூழ்நிலைகளில் திறமையற்றது மற்றும் ஒன்றிணைப்பு வரிசையுடன் ஒப்பிடும்போது நிறைய ஒப்பீடுகளையும் செய்கிறது. ஒன்றிணைப்பு வரிசைக்கு குறைந்த ஒப்பீடு தேவைப்பட்டாலும், கூடுதல் வரிசையை சேமிக்க 0 (n) கூடுதல் நினைவக இடம் தேவை, விரைவான வரிசைக்கு O (log n) இடம் தேவை.