அடுக்கு மற்றும் வரிசைக்கு இடையிலான வேறுபாடு

நூலாசிரியர்: Laura McKinney
உருவாக்கிய தேதி: 2 ஏப்ரல் 2021
புதுப்பிப்பு தேதி: 17 மே 2024
Anonim
ல்,ள்,ழ் எது எங்கே வரும்? | ல ள ழ எழுத்துப் பிழைகள் | 7 Tips to reduce spelling mistakes in Tamil
காணொளி: ல்,ள்,ழ் எது எங்கே வரும்? | ல ள ழ எழுத்துப் பிழைகள் | 7 Tips to reduce spelling mistakes in Tamil

உள்ளடக்கம்


அடுக்கு மற்றும் வரிசை இரண்டும் பழமையான தரவு கட்டமைப்புகள். தரவு கூறுகளை அணுகவும் சேர்க்கவும் ஸ்டேக் LIFO (முதல் அவுட்டில் கடைசியாக) முறையைப் பயன்படுத்துகிறது, அதே சமயம் தரவு கூறுகளை அணுகவும் சேர்க்கவும் FIFO (முதலில் முதல்) முறையைப் பயன்படுத்துகிறது.

தரவு கூறுகளைத் தள்ளுவதற்கும் உறுத்துவதற்கும் ஸ்டேக்கிற்கு ஒரே ஒரு முனை மட்டுமே திறக்கப்பட்டுள்ளது, தரவு கூறுகளை வரிசைப்படுத்துவதற்கும், விலக்குவதற்கும் வரிசை இரு முனைகளையும் திறந்துள்ளது.

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


  1. ஒப்பீட்டு விளக்கப்படம்
  2. வரையறை
  3. முக்கிய வேறுபாடுகள்
  4. நடைமுறைப்படுத்தல்
  5. ஆபரேஷன்ஸ்
  6. பயன்பாடுகள்
  7. தீர்மானம்

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

ஒப்பிடுவதற்கான அடிப்படைஸ்டேக் கியூ
செயல்படும் கொள்கைLIFO (முதல் அவுட்டில் கடைசி)ஃபிஃபோ (முதல் முதல் முதல்)
அமைப்புஉறுப்புகளைச் செருக மற்றும் நீக்க அதே முடிவு பயன்படுத்தப்படுகிறது.ஒரு முனை செருகலுக்குப் பயன்படுத்தப்படுகிறது, அதாவது, பின்புற முனை மற்றும் மற்றொரு முனை உறுப்புகளை நீக்க பயன்படுத்தப்படுகிறது, அதாவது முன் முனை.
பயன்படுத்தப்படும் சுட்டிகள் எண்ணிக்கைஒருஇரண்டு (எளிய வரிசை வழக்கில்)
செயல்பாடுகள் மேற்கொள்ளப்பட்டனதள்ள மற்றும் பாப் Enqueue மற்றும் dequeue
வெற்று நிலையை ஆய்வு செய்தல்மேல் == -1முன் == -1 || முன் == பின்புறம் + 1
முழு நிலையை ஆய்வு செய்தல்
மேல் == அதிகபட்சம் - 1பின்புறம் == அதிகபட்சம் - 1
வகைகளில்இதற்கு மாறுபாடுகள் இல்லை.இது வட்ட வரிசை, முன்னுரிமை வரிசை, இரட்டிப்பாக முடிக்கப்பட்ட வரிசை போன்ற வகைகளைக் கொண்டுள்ளது.
நடைமுறைப்படுத்தல்எளிமையானஒப்பீட்டளவில் சிக்கலானது


அடுக்கின் வரையறை

ஒரு அடுக்கு என்பது பழமையான அல்லாத நேரியல் தரவு அமைப்பு. இது ஒரு புதிய உருப்படி சேர்க்கப்பட்டு, ஏற்கனவே உள்ள உறுப்பு ஒரே ஒரு முனையிலிருந்து நீக்கப்படும், இது அடுக்கின் மேல் (TOS) என அழைக்கப்படுகிறது. ஒரு அடுக்கில் உள்ள அனைத்து நீக்குதலும் செருகலும் அடுக்கின் மேலிருந்து செய்யப்படுவதால், கடைசியாக சேர்க்கப்பட்ட உறுப்பு அடுக்கிலிருந்து முதலில் அகற்றப்படும். ஸ்டாக் கடைசி-இன்-ஃபர்ஸ்ட்-அவுட் (LIFO) வகை பட்டியல் என்று அழைக்கப்படுவதற்கான காரணம் இதுதான்.

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

உதாரணமாக

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

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

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

உதாரணமாக

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

  1. ஸ்டேக் மறுபுறம் LIFO பொறிமுறையைப் பின்தொடர்கிறது, உறுப்புகளைச் சேர்க்கவும் அகற்றவும் வரிசை FIFO பொறிமுறையைப் பின்பற்றுகிறது.
  2. ஒரு அடுக்கில், உறுப்புகளைச் செருக மற்றும் நீக்க அதே முடிவு பயன்படுத்தப்படுகிறது. மாறாக, உறுப்புகளைச் செருகவும் நீக்கவும் வரிசையில் இரண்டு வெவ்வேறு முனைகள் பயன்படுத்தப்படுகின்றன.
  3. ஸ்டேக்கிற்கு ஒரே ஒரு திறந்த முடிவு இருப்பதால், அடுக்கின் மேற்புறத்தைக் குறிக்க ஒரே ஒரு சுட்டிக்காட்டி மட்டுமே பயன்படுத்தப்படுவதற்கான காரணம் இது. ஆனால் வரிசையானது முன் மற்றும் வரிசையின் பின்புற முடிவைக் குறிக்க இரண்டு சுட்டிகளைப் பயன்படுத்துகிறது.
  4. ஸ்டேக் புஷ் மற்றும் பாப் என அழைக்கப்படும் இரண்டு செயல்பாடுகளைச் செய்கிறது, அதே நேரத்தில் அது வரிசையில் மற்றும் டிக்யூ என அழைக்கப்படுகிறது.
  5. வரிசை செயல்படுத்தல் எளிதானது, அதேசமயம் வரிசை செயல்படுத்தல் தந்திரமானது.
  6. வரிசையில் வட்ட வரிசை, முன்னுரிமை வரிசை, இரட்டிப்பாக முடிக்கப்பட்ட வரிசை போன்ற வகைகள் உள்ளன. இதற்கு மாறாக, ஸ்டேக்கில் மாறுபாடுகள் இல்லை.

அடுக்கு நடைமுறைப்படுத்தல்

அடுக்கு இரண்டு வழிகளில் பயன்படுத்தப்படலாம்:

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

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

வரிசையை இரண்டு வழிகளில் செயல்படுத்தலாம்:

  1. நிலையான செயல்படுத்தல்: வரிசைகளைப் பயன்படுத்தி ஒரு வரிசை செயல்படுத்தப்பட்டால், வரிசையில் நாம் சேமிக்க விரும்பும் உறுப்புகளின் சரியான எண்ணிக்கையை முன்பே உறுதிப்படுத்த வேண்டும், ஏனென்றால் வரிசையின் அளவு வடிவமைப்பு நேரத்தில் அல்லது செயலாக்கம் தொடங்குவதற்கு முன்பு அறிவிக்கப்பட வேண்டும். இந்த வழக்கில், வரிசையின் ஆரம்பம் வரிசையின் முன்புறமாக மாறும், மேலும் வரிசையின் கடைசி இடம் வரிசையின் பின்புறமாக செயல்படும். வரிசைகளைப் பயன்படுத்தி செயல்படுத்தும்போது வரிசையில் இருக்கும் முழு கூறுகளையும் பின்வரும் உறவு தருகிறது:
    முன் - பின்புறம் + 1
    “பின்புற <முன்” என்றால் வரிசையில் எந்த உறுப்பு இருக்காது அல்லது வரிசையில் எப்போதும் காலியாக இருக்கும்.
  2. டைனமிக் செயல்படுத்தல்: சுட்டிகளைப் பயன்படுத்தி வரிசைகளைச் செயல்படுத்துதல், முக்கிய குறைபாடு என்னவென்றால், இணைக்கப்பட்ட பிரதிநிதித்துவத்தில் ஒரு முனை வரிசை பிரதிநிதித்துவத்தில் தொடர்புடைய உறுப்பை விட அதிக நினைவக இடத்தைப் பயன்படுத்துகிறது. ஒவ்வொரு முனையிலும் குறைந்தது இரண்டு புலங்கள் ஒன்று தரவு புலத்திற்கும் மற்றொன்று அடுத்த முனையின் முகவரியை சேமிப்பதற்கும் இணைக்கப்பட்ட பிரதிநிதித்துவத்தில் தரவு புலம் மட்டுமே உள்ளது. இணைக்கப்பட்ட பிரதிநிதித்துவத்தைப் பயன்படுத்துவதற்கான தகுதி மற்ற உறுப்புகளின் குழுவின் நடுவில் ஒரு உறுப்பைச் செருக அல்லது நீக்க வேண்டியிருக்கும் போது தெளிவாகிறது.

அடுக்கில் செயல்பாடுகள்

அடுக்கில் இயக்கக்கூடிய அடிப்படை செயல்பாடுகள் பின்வருமாறு:

  1. புஷ்: அடுக்கின் மேற்புறத்தில் ஒரு புதிய உறுப்பு சேர்க்கப்படும்போது புஷ் செயல்பாடு என்று அழைக்கப்படுகிறது. புதிய உறுப்பு மேலே செருகப்படும் என்பதால், ஒரு உறுப்பை அடுக்கில் தள்ளுவது உறுப்பைச் சேர்ப்பதைத் தூண்டுகிறது. ஒவ்வொரு புஷ் செயல்பாட்டிற்கும் பிறகு, மேலே ஒன்று அதிகரிக்கப்படுகிறது. வரிசை நிரம்பியிருந்தால், புதிய உறுப்பு எதுவும் சேர்க்கப்படாவிட்டால், அது STACK-FULL condition அல்லது STACK OVERFLOW என அழைக்கப்படுகிறது. புஷ் இயக்கம் - சி இல் செயல்பாடு:
    அடுக்கைக் கருத்தில் கொண்டு அறிவிக்கப்படுகிறது
    முழு அடுக்கு, மேல் = -1;
    வெற்றிட புஷ் ()
    {
    முழு உருப்படி;
    if (மேல் <4)
    {
    f ("எண்ணை உள்ளிடுக");
    ஸ்கேன் ("% d", & உருப்படி);
    மேல் = மேல் + 1;
    stack = உருப்படி;
    }
    வேறு
    {
    f ("அடுக்கு நிரம்பியுள்ளது");
    }
    }
  2. பாப்: அடுக்கின் மேலிருந்து ஒரு உறுப்பு நீக்கப்படும் போது அது POP செயல்பாடு என அழைக்கப்படுகிறது. ஒவ்வொரு பாப் செயல்பாட்டிற்கும் பிறகு, அடுக்கு ஒன்று குறைகிறது. அடுக்கில் எந்த உறுப்பு எஞ்சியிருக்கவில்லை மற்றும் பாப் நிகழ்த்தப்பட்டால், இது STACK UNDERFLOW நிலைக்கு வழிவகுக்கும், அதாவது உங்கள் அடுக்கு காலியாக உள்ளது. பாப் செயல்பாடு - சி இல் செயல்பாடுகள்:
    அடுக்கைக் கருத்தில் கொண்டு அறிவிக்கப்படுகிறது
    முழு அடுக்கு, மேல் = -1;
    வெற்றிட பாப் ()
    {
    முழு உருப்படி;
    if (மேல்> = 4)
    {
    உருப்படி = அடுக்கு;
    மேல் = மேல் - 1;
    f ("நீக்கப்பட்ட எண் =% d", உருப்படி);
    }
    வேறு
    {
    f ("அடுக்கு காலியாக உள்ளது");
    }
    }

ஒரு வரிசையில் செயல்பாடுகள்

வரிசையில் செய்யக்கூடிய அடிப்படை செயல்பாடுகள்:

  1. என்கியூ: ஒரு உறுப்பை ஒரு வரிசையில் செருக. C இல் செயல்பாட்டு செயல்பாடு:
    வரிசை என அறிவிக்கப்பட்டுள்ளது
    முழு வரிசை, முன் = -1 மற்றும் பின்புறம் = -1;
    void add ()
    {
    முழு உருப்படி;
    if (பின்புறம் <4)
    {
    f ("எண்ணை உள்ளிடுக");
    ஸ்கேன் ("% d", & உருப்படி);
    if (முன் == -1)
    {
    முன் = 0;
    பின்புறம் = 0;
    }
    வேறு
    {
    பின்புறம் = பின்புறம் + 1;
    }
    வரிசை = உருப்படி;
    }
    வேறு
    {
    f ("வரிசை நிரம்பியுள்ளது");
    }
    }
  2. dequeue: வரிசையில் இருந்து ஒரு உறுப்பை நீக்க. C இல் செயல்பாட்டு செயல்பாடு
    வரிசை என அறிவிக்கப்பட்டுள்ளது
    முழு வரிசை, முன் = -1 மற்றும் பின்புறம் = -1;
    நீக்குதல் ()
    {
    முழு உருப்படி;
    if (முன்! = -1)
    {
    உருப்படி = வரிசை;
    if (முன் == பின்புறம்)
    {
    முன் = -1;
    பின்புறம் = -1;
    }
    வேறு
    {
    முன் = முன் + 1;
    f ("நீக்கப்பட்ட எண் =% d", உருப்படி);
    }
    }
    வேறு
    {
    f ("வரிசை காலியாக உள்ளது");
    }
    }

அடுக்கின் பயன்பாடுகள்

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

வரிசையின் பயன்பாடுகள்

  • தரவு இடையகங்கள்
  • ஒத்திசைவற்ற தரவு பரிமாற்றம் (கோப்பு IO, குழாய்கள், சாக்கெட்டுகள்).
  • பகிரப்பட்ட வளத்தில் கோரிக்கைகளை ஒதுக்குதல் (எர், செயலி).
  • போக்குவரத்து பகுப்பாய்வு.
  • ஒரு சூப்பர் மார்க்கெட்டில் இருக்க வேண்டிய காசாளர்களின் எண்ணிக்கையை தீர்மானிக்கவும்.

தீர்மானம்

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