اییر کی فہرست اور لنک کی فہرست کے درمیان فرق.

Anonim

ڈیٹا کو کیسے بنایا گیا ہے؟

سیر کی فہرست اور لنک کردہ فہرست عام شرائط ہیں جب ڈیٹا اسٹوریج اور بازیابی کے لۓ آتا ہے. اگرچہ بہت سے اسٹوریج آلات موجود ہیں، آخرڪار، وہ اسٹوریج میکانزم پر منحصر ہیں. یہ دو اسٹوریج میکانزم اسٹوریج کے آلات میں آپ کے ڈیٹا کو جگہ دیتے ہیں اور جب ضرورت ہوتی ہیں انہیں دوبارہ حاصل کریں. آتے ہیں کہ وہ اپنی میموری میں ڈیٹا کیسے ذخیرہ کرتے ہیں. اییر کی فہرست ایک ترتیب اسٹوریج کا استعمال کرتا ہے، اور اعداد و شمار کے ٹکڑے دوسرے کے بعد ایک کو ذخیرہ کر رہے ہیں. یہ شاید ایک آسان فارم اسٹوریج ہے - یہ الجھن سے بچتا ہے. جی ہاں، ہم صف کی فہرست کے اگلے میموری مقام سے اگلے آئٹم یا اعداد و شمار کو دوبارہ حاصل کرسکتے ہیں؛ تاہم، یہ لنک لسٹ میں اشارہ کی مدد سے محفوظ کیا جاتا ہے. یہاں ہمیں سٹوریج کے لئے دو میموری مقامات کی ضرورت ہے - ایک کے لئے اعداد و شمار کے لئے، ایک دوسرے کے پوائنٹر کے لئے. ایک پوائنٹر اگلے اعداد و شمار کے میموری مقام سے خطاب کرتا ہے. ہم آسانی سے سمجھ سکتے ہیں کہ لنک کردہ فہرست نے ترتیبات کو باقاعدگی سے ذخیرہ نہیں کیا ہے؛ بلکہ، یہ بے ترتیب سٹوریج میکانزم کا استعمال کرتا ہے. یاد رکھنے والے اعداد و شمار کے مقامات کو تلاش کرنے میں اہم عناصر ہیں.

متحرک آرٹ اور منسلک فہرست

ہم نے پہلے سے ہی بات چیت کی ہے کہ سٹوریج کے طریقہ کار کو ڈیٹا میں کیسے ڈالا جاتا ہے اور ہم اییر کی فہرست کی داخلی اسٹوریج اسکیم کے لئے 'متحرک سر' اصطلاح دے سکتے ہیں. یہ صرف دوسرے کے بعد ڈیٹا بیس ٹکڑے ٹکڑے ایک رکھتا ہے - اس وجہ سے نام - جبکہ لنک کردہ فہرست اگلے شے کو ٹریک کرنے کے اشارے کی مدد سے داخلی فہرست کا استعمال کرتا ہے. لہذا، یہ اگلے ڈیٹا کو دکھانے کے لئے ایک اندرونی منسلک فہرست کا استعمال کرتا ہے، سنگل یا دوائی سے منسلک فہرست کی طرح.

میموری استعمال

جیسا کہ اییر کی فہرست صرف اصل اعداد و شمار کو ذخیرہ کرتی ہے، ہمیں صرف اس ڈیٹا کے لئے جگہ کی ضرورت ہے جسے ہم اسٹور کرتے ہیں. اس کے برعکس، مربوط فہرست میں، ہم پوائنٹس بھی استعمال کرتے ہیں. لہذا، دو میموری مقامات کی ضرورت ہوتی ہے، اور ہم یہ کہہ سکتے ہیں کہ منسلک فہرست اییر کی فہرست سے زیادہ میموری استعمال کرتی ہے. لنک کی فہرست کا فائدہ مند حصہ یہ ہے کہ یہ ہمارے اعداد و شمار کو ذخیرہ کرنے کے لئے مسلسل میموری مقامات کی ضرورت نہیں ہوتی ہے، جیسا کہ ییر کی فہرست کے خلاف ہے. اشارہ اگلے ڈیٹا مقام کی حیثیت کو برقرار رکھنے کے قابل ہیں، اور ہم چھوٹے میموری سلاٹس استعمال کر سکتے ہیں جو مسلسل نہیں ہیں. جب یہ میموری استعمال کے لۓ آتا ہے، تو اشارہ لنک لسٹ میں اہم کردار ادا کرتا ہے، اور اس طرح ان کی مؤثریت ہوتی ہے.

ابتدائی آرٹ کی فہرست اور لنک کی فہرست کا سائز

اییر کی فہرست کے ساتھ، یہاں تک کہ ایک خالی فہرست 10 کے سائز کی ضرورت ہے، لیکن ایک لنک کردہ فہرست کے ساتھ، ہمیں اس طرح کی ایک بڑی جگہ کی ضرورت نہیں ہے. ہم ایک سائز کے ساتھ ایک خالی لنک کردہ فہرست بنا سکتے ہیں. بعد میں، ہم سائز کے طور پر ضرورت کی ضرورت میں اضافہ کر سکتے ہیں.

ڈیٹا کی بازیابی

ڈیٹا کی بازیابی ای آر فہرست میں آسان ہے کیونکہ اس کی ترتیب ترتیب سے ہے. یہ سب سے پہلے ڈیٹا بیس کی شناخت ہے. وہاں سے، باقی جگہ دوبارہ حاصل کرنے کے لئے اگلے مقام کو ترتیب میں رسائی حاصل ہے.یہ پہلی ڈیٹا پوزیشن کی طرح شمار کرتا ہے + 'n'، جہاں 'n' ایرا فہرست میں اعداد و شمار کا حکم ہے. لینک شدہ فہرست کو ابتدائی پوائنٹر کو پہلے ڈیٹا بیس کا مقام تلاش کرنے کے لۓ، اور اس سے وہاں ہر ڈیٹا کے ساتھ منسلک پوائنٹر کو اگلے ڈیٹا مقام کو تلاش کرنے کا حوالہ دیتا ہے. بحالی کی کارروائی بنیادی طور پر یہاں اشارے پر منحصر ہے، اور وہ مؤثر طریقے سے ہمیں اگلے ڈیٹا مقام دکھاتا ہے.

ڈیٹا کا اختتام

ارے کی فہرست ڈیٹا کے اختتام کو نشان زد کرنے کے لئے نیل قدر کا استعمال کرتا ہے، جبکہ لنک کردہ فہرست اس مقصد کے لئے نچلے پوائنٹر کا استعمال کرتا ہے. جیسے ہی نظام سست اعداد و شمار کو تسلیم کرتی ہے، ایج کی فہرست اگلے ڈیٹا کی بازیابی کو روکتا ہے. اسی طرح، نچلے پوسٹر نظام کو اگلے ڈیٹا کی وصولی میں آگے بڑھنے سے روکتا ہے.

ریورس ٹرانسلرل

لینک شدہ لسٹ ہمیں ریورس سمت میں مدد کرنے کی اجازت دیتا ہے. تاہم، ہمارے پاس اس آرٹ کی فہرست میں اس سہولیات کی ضرورت نہیں ہے - ریورس ٹرانسرل یہاں ایک مسئلہ بن جاتا ہے.

مطابقت

ہم اسٹوریج کے دونوں میکانیزم کے جاوا سنٹیکس کو دیکھیں.

سیر کی فہرست تخلیق:

فہرست arraylists نمونہ = نیا ArrayList ()؛

اییر کی فہرست میں اشیاء شامل کرنا:

آرٹلسٹ نمونہ. ("نام 1") شامل کریں؛

رائٹلسٹ نمونہ. ("نام 2") شامل کریں؛

یہ کس طرح نتیجے میں آرائ کی فہرست نظر آئے گی - [name1، name2].

لنکڈ فہرست کی تخلیق:

فہرست سے متعلق لنک فہرست نمونے = نیا منسلک فہرست ()؛

لنک فہرست میں اشیاء شامل کرنا:

لنکڈسٹسٹ نمونہ. ("نام 3") شامل کریں؛

لنکڈسٹس نمونہ. شامل کریں ("نام 4")؛

اس طرح کے نتیجے میں لنکڈ لسٹ کی طرح نظر آئے گی - [name3، name4].

حاصل کرنے یا تلاش آپریشن کے لئے کون سا بہتر ہے؟

ایرا فہرست کسی بھی ڈیٹا کی تلاش کو چلانے کے لئے اے (1) وقت لیتا ہے، جبکہ لنک کردہ فہرست آپ ڈیٹا کی تلاش کیلئے اے (ن) لیتا ہے. لہذا، اییر کی فہرست ہمیشہ کسی بھی ڈیٹا کی تلاش کے لئے مستقل وقت کا استعمال کرتا ہے، لیکن لنک شدہ فہرست میں، وقت لیتا ہے ڈیٹا کی حیثیت پر منحصر ہے. لہذا، رین کی فہرست ہمیشہ حاصل کرنے یا تلاش آپریشن کے لئے ایک بہتر انتخاب ہیں. اضافے یا اضافی آپریشن کے لئے کون سا بہتر ہے؟

ایوارڈ کی فہرست اور لنک فہرست دونوں اے (1) ڈیٹا ڈیٹا کے اضافے کے لۓ لے جاتے ہیں. لیکن اگر صف مکمل ہوجاتا ہے، تو اس کی رینج کو اس کا سائز تبدیل کرنے کے لئے کافی وقت لگتا ہے اور اشیاء کو جدید میں لے لیتا ہے. ایسی صورت میں، لنک کی فہرست بہتر انتخاب ہے.

ہٹانے والے آپریشن کے لئے کون سا بہتر ہے؟

ہٹ آپریشن میں عدد کی فہرست اور لنک کردہ فہرست میں تقریبا ایک ہی وقت لگتا ہے. اییر کی فہرست میں، یہ آپریشن ڈیٹا کو حذف کرتا ہے اور اس کے بعد نئی صف بنانے کے لئے اعداد و شمار کی حیثیت کو تبدیل کرتا ہے - یہ اے (این) وقت لگتا ہے. لنک لسٹ میں، یہ آپریشن نئی فہرست تشکیل دینے کے لئے مخصوص اعداد و شمار کو تبدیل کرتا ہے اور پوائنٹر کی پوزیشن میں تبدیلی کرتا ہے. ٹرانسلرل اور ہٹانے کا وقت اے او این ہے.

کون سا تیز ہے؟

ہم جانتے ہیں کہ رین کی فہرست اصل اعداد و شمار کو ذخیرہ کرنے کے لئے اندرونی صف استعمال کرتا ہے. لہذا، اگر کسی بھی ڈیٹا کو خارج کر دیا جائے تو، پھر آنے والی تمام اعداد و شمار میموری تبدیلی کی ضرورت ہوتی ہے.ظاہر ہے، اس کا ایک کافی وقت کی ضرورت ہوتی ہے اور چیزوں کو کم کر دیتا ہے. لنک کی فہرست میں ایسی میموری تبدیلی کی ضرورت نہیں ہے، کیونکہ یہ سب پوائنٹر پوائنٹر کو تبدیل کر رہا ہے. لہذا، کسی بھی قسم کے ڈیٹا اسٹوریج میں ایک لنک کی فہرست آرائ کی فہرست سے تیز ہے. تاہم، یہ آپریشن کے قسم پر خالص طور پر منحصر ہے. ای. حاصل یا تلاش کے آپریشن کے لئے، لینک کردہ فہرست اییر کی فہرست سے کہیں زیادہ وقت لگتا ہے. جب ہم مجموعی کارکردگی کو دیکھتے ہیں، تو ہم کہہ سکتے ہیں کہ لنک کی فہرست تیزی سے ہے.

اییر کی فہرست اور ایک لنک کی فہرست استعمال کرنے کے لئے کب؟

ایک رین کی فہرست میں چھوٹے اعداد و شمار کی ضروریات کے لئے سب سے بہتر ہے، جہاں مسلسل میموری دستیاب ہے. لیکن جب ہم بہت زیادہ اعداد و شمار سے نمٹنے کے لئے، مسلسل میموری کی دستیابی کو ڈیٹا اسٹوریج میکانیزم کو لاگو کرتی ہے، چاہے وہ چھوٹا یا بہت بڑا ہے. اگلا، کون سا فیصلہ کرنے کا فیصلہ کرتا ہے - سر فہرست یا لنک کردہ فہرست. جب آپ کو اعداد و شمار کے اسٹوریج اور دوبارہ حاصل کرنے کی ضرورت ہو تو آپ ایک صف کی فہرست کے آگے آگے جا سکتے ہیں. لیکن ایک فہرست آپ کو اعداد و شمار کو جوڑ کر اس سے باہر مدد کرسکتا ہے. ایک بار جب آپ فیصلہ کرتے ہیں کہ کتنی کثرت سے اعداد و شمار کی خرابی کی ضرورت ہوتی ہے تو، یہ ضروری ہے کہ آپ کو عام طور پر کس قسم کے ڈیٹا کی بازیابی کی جانچ پڑتال کی جائے. جب یہ صرف حاصل یا تلاش ہے، تو آرراج کی فہرست بہتر انتخاب ہے؛ اضافی کارروائیوں جیسے جیسے اندراج یا ختم کرنے کے لئے، لنک کی فہرست کے ساتھ آگے بڑھیں.

ہمیں ٹیبلولر شکل میں فرق نظر آتے ہیں.

ایس. نہیں

تصورات اختلافات فہرست کی فہرست
ڈیٹا بیس اسٹوریج 1
ڈیٹا سٹوریج فیشن ترتیب ترتیباتی اسٹوریج کا استعمال کرتا ہے غیر متوقع ڈیٹا سٹوریج کا استعمال کرتا ہے 2 < داخلی اسٹوریج اسکیم
ایک اندرونی متحرک رینج کو برقرار رکھتا ہے ایک لنک کردہ فہرست 3 میموری استعمال
صرف اعداد و شمار کے لئے میموری جگہ کی ضرورت ہوتی ہے ڈیٹا کے لئے میموری کی جگہ کی ضرورت ہوتی ہے اشارے 4 ابتدائی فہرست کا سائز
کم از کم 10 اشیاء کے لئے جگہ کی جگہ جگہ کی ضرورت نہیں ہے اور ہم بھی خالی بنا سکتے ہیں سائز کی فہرست 0. 0. 5 اعداد و شمار کی بازیابی پہلی ڈیٹا پوزیشن کی طرح شمار کرتا ہے + 'n'، جہاں 'این' کی فہرست میں آرڈر کی فہرست
ضروری اعداد و شمار کی ضرورت ہوتی ہے تو پہلے یا آخری سے ٹرانسمیشن 6 < ڈیٹا کا اختتام اختتام کی نخن اقدار نال پوائنٹر آخر اختتام
7 ریورس ٹرانسلر اس کی اجازت نہیں دیتا اسے نیچے اتارنے والے کی مدد سے اجازت دیتا ہے (999))
8 تخلیق ترتیب سنٹیکس listlistsample = نئی Array کی فہرست فہرست ()؛ فہرست منسلک فہرست = نمونے = نیا منسلک فہرست ()؛
9 آبجیکٹ کو شامل کرنا ارالسٹ نمونہ. ("نام 1") شامل کریں؛

لنکڈسٹس نمونہ. ("نام 3") شامل کریں؛

10 حاصل کریں یا تلاش کریں اے (1) وقت لیتا ہے اور کارکردگی میں بہتر ہے

اے (ن) وقت لیتا ہے اور کارکردگی کو اعداد و شمار کی حیثیت پر منحصر ہے

11 داخل کریں یا اضافی اے (1) وقت کو نجات دیتا ہے جب کہ صف مکمل ہوجاتا ہے تمام حالتوں کے تحت اے (1) وقت کو نجات دیتا ہے
12 حذف یا ہٹانا اے (این) وقت لیتا ہے < اے لیتا ہے (ن) وقت 13
کب استعمال کرنا؟ جب بہت سے حاصل یا تلاش کے عمل میں ملوث شامل ہیں؛ میموری دستیابی بھی ابتداء میں زیادہ ہونا چاہئے جب آپریشن میں بہت سے داخل ہو یا خارج ہو جائیں تو، اور میموری کی دستیابی مسلسل جاری رکھنے کی ضرورت نہیں ہے