अ‍ॅरे आणि लिंक्ड यादीमधील फरक

लेखक: Laura McKinney
निर्मितीची तारीख: 3 एप्रिल 2021
अद्यतन तारीख: 5 मे 2024
Anonim
डेटा स्ट्रक्चर्स: अॅरे वि लिंक्ड लिस्ट
व्हिडिओ: डेटा स्ट्रक्चर्स: अॅरे वि लिंक्ड लिस्ट

सामग्री


दरम्यान मुख्य फरक अ‍ॅरे आणि दुवा साधलेली यादी त्यांच्या रचनेबद्दल. अ‍ॅरे आहेत अनुक्रमणिका आधारित डेटा रचना जिथे प्रत्येक घटक अनुक्रमणिकेशी संबंधित असतात. दुसरीकडे, दुवा साधलेली यादी अवलंबून असते संदर्भ जिथे प्रत्येक नोडमध्ये डेटा आणि मागील आणि पुढील घटकाचा संदर्भ असतो.

मूलभूतपणे, अ‍ॅरे हा समान डेटा ऑब्जेक्ट्सचा संच आहे जो सामान्य शीर्षक किंवा चल नावाच्या अंतर्गत अनुक्रमिक मेमरी ठिकाणी संग्रहित केला जातो.

दुवा साधलेली यादी ही एक डेटा स्ट्रक्चर आहे ज्यात प्रत्येक घटक त्याच्या पुढील घटकाशी जोडलेला असतो त्या घटकांचा अनुक्रम असतो. दुवा साधलेल्या सूचीच्या घटकात दोन फील्ड आहेत. एक म्हणजे डेटा फील्ड, आणि दुसरे दुवे फील्ड, डेटा फील्डमध्ये संचयित आणि प्रक्रिया करण्यासाठीचे वास्तविक मूल्य आहे. याउप्पर, दुवा फील्ड दुवा साधलेल्या सूचीमधील पुढील डेटा आयटमचा पत्ता धरून आहे. विशिष्ट नोडमध्ये प्रवेश करण्यासाठी वापरलेला पत्ता पॉईंटर म्हणून ओळखला जातो.

अ‍ॅरे आणि लिंक्ड यादीमधील आणखी एक महत्त्वपूर्ण फरक म्हणजे अ‍ॅरे निश्चित आकार आहे आणि त्यापूर्वी घोषित करणे आवश्यक आहे, परंतु अंमलबजावणी दरम्यान लिंक्ड सूची आकार आणि विस्तृत आणि करारापर्यंत मर्यादित नाही.


  1. तुलना चार्ट
  2. व्याख्या
  3. मुख्य फरक
  4. निष्कर्ष

तुलना चार्ट

तुलनासाठी आधारअ‍ॅरेदुवा साधलेली यादी
मूलभूतहा डेटा आयटमच्या निश्चित संख्येचा सुसंगत सेट आहे.हा डेटा आयटमच्या चल संख्येचा समावेश असलेला ऑर्डर केलेला सेट आहे.
आकारघोषणेदरम्यान निर्दिष्टनिर्दिष्ट करण्याची आवश्यकता नाही; अंमलबजावणी दरम्यान वाढतात आणि संकुचित करा.
स्टोरेज ocलोकेशन कंपाईल वेळ दरम्यान घटक स्थान वाटप केले जाते.धावण्याच्या वेळेस एलिमेंट पोझिशन दिली जाते.
घटकांचा क्रम सलग संग्रहित यादृच्छिकपणे संग्रहित
घटकावर प्रवेश करणेथेट किंवा यादृच्छिकपणे प्रवेश, म्हणजे अ‍ॅरे अनुक्रमणिका किंवा सबस्क्रिप्ट निर्दिष्ट करा.अनुक्रमे cesक्सेस केलेला, म्हणजे पॉइंटरद्वारे सूचीमधील पहिल्या नोडपासून प्रारंभ होणारा ट्रॅव्हर्स.
घटक समाविष्ट करणे आणि हटविणेशिफ्टिंग आवश्यक असल्याने तुलनेने सावकाश.सुलभ, वेगवान आणि कार्यक्षम
शोधत आहे बायनरी शोध आणि रेखीय शोधरेषात्मक शोध
मेमरी आवश्यककमी अधिक
मेमरी उपयोगिताअप्रभावीकार्यक्षम


अ‍ॅरेची व्याख्या

अ‍ॅरे म्हणजे एकसंध घटक किंवा डेटा आयटमच्या निश्चित संख्येच्या संचाच्या रूपात परिभाषित केले जाते. याचा अर्थ अ‍ॅरेमध्ये फक्त एक प्रकारचा डेटा असू शकतो, एकतर सर्व पूर्णांक, सर्व फ्लोटिंग-पॉइंट क्रमांक किंवा सर्व वर्ण. अ‍ॅरेची घोषणा खालीलप्रमाणे आहे.
इंट अ;
जेथे int डेटा प्रकार निर्दिष्ट करते किंवा घटक अ‍ॅरे स्टोअर टाइप करते. “ए” अ‍ॅरेचे नाव आहे, आणि चौकटी कंसात निर्दिष्ट केलेली संख्या अ‍ॅरे संचयित करू शकत असलेल्या घटकांची संख्या आहे, त्याला अ‍ॅरेचा आकार किंवा लांबी देखील म्हणतात.

अ‍ॅरेबद्दल लक्षात ठेवल्या जाणार्‍या काही संकल्पना पाहू या:

  • अ‍ॅरेच्या स्वतंत्र घटकास अ‍ॅरेचे नाव वर्णन करून प्रवेश केला जाऊ शकतो, त्यानंतर अनुक्रमांक किंवा सबस्क्रिप्ट (अ‍ॅरेमधील घटकाचे स्थान निर्धारित करून) चौरस कंसात. उदाहरणार्थ, अ‍ॅरेचा elementवा घटक पुनर्प्राप्त करण्यासाठी आम्हाला a स्टेटमेंट लिहिण्याची गरज आहे.
  • कोणत्याही परिस्थितीत अ‍ॅरेचे घटक सतत मेमरी ठिकाणी संग्रहित केले जातील.
  • अ‍ॅरेच्या पहिल्या घटकात अनुक्रमणिका शून्य आहे. याचा अर्थ पहिला आणि शेवटचा घटक अनुक्रमे अ आणि अनुक्रमे निर्दिष्ट केला जाईल.
  • अ‍ॅरेमध्ये संग्रहित केल्या जाणार्‍या घटकांची संख्या, म्हणजे, अ‍ॅरेचा आकार किंवा त्याची लांबी खालील समीकरणांद्वारे दिली आहे:
    (वरच्या बाउंड-लोअर बाउंड) + 1
    वरील अ‍ॅरेसाठी ते (9-0) + 1 = 10 असेल. जेथे 0 अ‍ॅरेची खालची सीमा आहे आणि 9 अ‍ॅरेची वरची सीमा आहे.
  • अ‍ॅरे लूपमधून वाचू किंवा लिहिता येतात. जर आपण एक-आयामी अ‍ॅरे वाचत असाल तर यासाठी वाचनासाठी एक लूप आवश्यक असेल तर दुसरे अ‍ॅरे लिहिण्यासाठी (आयएनजी) आवश्यक असेल, उदाहरणार्थः
    अ. अ‍ॅरे वाचण्यासाठी
    साठी (i = 0; i <= 9; i ++)
    {स्कॅनफ ("% डी", आणि ए); }
    बी. अ‍ॅरे लिहिण्यासाठी
    साठी (i = 0; i <= 9; i ++)
    {फ ("% डी", अ); }
  • २-डी अ‍ॅरेच्या बाबतीत, त्यास दोन लूप आवश्यक असतील आणि त्याचप्रमाणे एन-आयामी अ‍ॅरेला एन लूपची आवश्यकता असेल.

अ‍ॅरेवर केलेले ऑपरेशन्सः

  1. अ‍ॅरेची निर्मिती
  2. अ‍ॅरेचा शोध घेत आहे
  3. नवीन घटक समाविष्ट करणे
  4. आवश्यक घटक हटविणे.
  5. घटक बदल
  6. अ‍ॅरेचे विलीनीकरण

उदाहरण

पुढील प्रोग्राम अ‍ॅरेचे वाचन आणि लेखन यांचे वर्णन करतो.

# समाविष्ट करा
# समाविष्ट करा
शून्य मुख्य ()
{
इंट ए, आय;
f ("अ‍ॅरे प्रविष्ट करा");
साठी (i = 0; i <= 9; i ++)
{
स्कॅनफ ("% d", आणि अ);
}
f ("अ‍ॅरे प्रविष्ट करा");
साठी (i = 0; i <= 9; i ++)
{
f ("% d n", अ);
}
गेच ();
}

दुवा साधलेल्या यादीची व्याख्या

दुवा साधलेली यादी काही डेटाशी जोडलेल्या विशिष्ट घटकांची यादी आहे. यात प्रत्येक घटक तार्किक क्रम दर्शविणार्‍या पुढील घटकाकडे निर्देश करतो. प्रत्येक घटकास नोड म्हणतात, ज्याचे दोन भाग आहेत.

माहितीचा भाग आणि पुढील घटकाकडे निर्देश करणारा पॉईंटर आपल्याला पत्ता संचयित करण्याबद्दल माहिती आहे, आमच्याकडे पॉइंटर्स नावाची सी मध्ये एक अद्वितीय डेटा रचना आहे. म्हणूनच यादीतील दुसरे फील्ड पॉईंटर प्रकार असणे आवश्यक आहे.

लिंक्ड याद्यांचे प्रकार सिंगल-लिंक्ड यादी, दुहेरी जोडलेली यादी, परिपत्रक जोडलेली यादी, परिपत्रक दुहेरी जोडलेली यादी.

लिंक्ड लिस्टवर केलेले ऑपरेशन्सः

  1. निर्मिती
  2. ट्रॅव्हर्सिंग
  3. अंतर्भूत
  4. हटविणे
  5. शोधत आहे
  6. संमेलनाचे
  7. प्रदर्शन

उदाहरण

पुढील स्निपेट दुवा साधलेल्या सूचीच्या निर्मितीचे वर्णन करते:

स्ट्रक् नोड
{
इंट नंबर
स्टक्ट नोड * पुढील;
}
प्रारंभ = NULL;
शून्य तयार ()
{
टायपेडफ स्ट्रक्ट नोड;
नाही * पी, * क्यू;
चार निवड
प्रथम = एनयूएलएल;
करा
{
p = (NODE *) malloc (आकार (NODE));
f ("डेटा आयटम प्रविष्ट करा n");
स्कॅनफ ("% d", & p -> क्रमांक);
जर (p == NULL)
{
क्यू = प्रारंभ;
(q -> पुढील! = शून्य) असताना
{क्यू = क्यू -> पुढील
}
p -> पुढील = क्यू -> पुढील;
क -> = पी;
}
अन्यथा
{
p -> पुढील = प्रारंभ;
प्रारंभ = पी;
}
f ("आपण सुरू ठेवू इच्छिता (टाइप y आणि n)? n");
स्कॅनफ ("% c", आणि निवड);
}
असताना ((निवड == वाय) || (निवड == वाय));
}

  1. अ‍ॅरे म्हणजे डेटा स्ट्रक्चरमध्ये तत्सम प्रकारच्या डेटा घटकांचा संग्रह असतो तर दुवा साधलेली यादी नॉन-आदिम डेटा मानली जाते अशा नोड्स म्हणून ओळखल्या जाणार्‍या अनऑर्डर लिंक केलेल्या घटकांचा संग्रह आहे.
  2. अ‍ॅरेमध्ये घटक अनुक्रमणिकेशी संबंधित आहेत, म्हणजेच, जर आपल्याला चौथ्या घटकामध्ये जायचे असेल तर आपल्याला चौरस कंसात त्याच्या अनुक्रमणिकेसह किंवा स्थानासह चल नाव लिहावे लागेल.
    जरी दुवा साधलेल्या सूचीत, आपण चौथ्या घटकापर्यंत पोहोचेपर्यंत आपल्याला डोक्यापासून सुरुवात करावी लागेल आणि आपल्या मार्गाने कार्य करावे लागेल.
  3. एलिमेंट अ‍ॅरेमध्ये प्रवेश करणे वेगवान आहे तर दुवा साधलेल्या सूचीला रेषीय वेळ लागतो, परंतु तो थोडासा हळू आहे.
  4. अ‍ॅरेमध्ये समाविष्ट करणे आणि हटविणे यासारख्या ऑपरेशन्समध्ये बराच वेळ लागतो. दुसरीकडे, लिंक्ड याद्यांमध्ये या ऑपरेशन्सची कामगिरी वेगवान आहे.
  5. अ‍ॅरे निश्चित आकाराचे असतात. याउलट, दुवा साधलेल्या याद्या गतिशील आणि लवचिक आहेत आणि त्यास आकार देऊ आणि विस्तृत करू शकतात.
  6. अ‍ॅरेमध्ये कंपाईल वेळेत मेमरी दिली जाते, तर लिंक्ड यादीमध्ये ती अंमलात आणण्यासाठी किंवा रनटाइम दरम्यान वाटप केली जाते.
  7. घटक सतत अ‍ॅरेमध्ये साठवले जातात तर ते यादृच्छिकपणे दुवा साधलेल्या सूचीमध्ये साठवले जातात.
  8. अ‍ॅरे मधील निर्देशांकात वास्तविक डेटा साठवल्यामुळे मेमरीची आवश्यकता कमी होते. त्याउलट, पुढील पुढील आणि मागील संदर्भ घटकांच्या संचयनामुळे दुवा साधलेल्या सूचीमध्ये अधिक मेमरीची आवश्यकता आहे.
  9. याव्यतिरिक्त अ‍ॅरेमध्ये मेमरी वापर अकार्यक्षम आहे. उलट, मेमरी उपयोग अ‍ॅरे मध्ये कार्यक्षम आहे.

निष्कर्ष

अ‍ॅरे आणि लिंक्ड याद्या या प्रकारच्या डेटा स्ट्रक्चर्सचे प्रकार आहेत त्यांच्या संरचनेत प्रवेश करणे आणि हाताळणीच्या पद्धती, मेमरीची आवश्यकता आणि उपयोग. आणि त्याच्या अंमलबजावणीचा विशिष्ट फायदा आणि तोटा असू द्या. परिणामी, एकतर गरजेनुसार वापरला जाऊ शकतो.