এরেস এবং লিঙ্কযুক্ত তালিকার মধ্যে পার্থক্য

Anonim

এ্যারে লিঙ্কযুক্ত তালিকাগুলি প্রদান করে

উপাদানের উপাদানসমূহের সংগ্রহগুলি সংরক্ষণের জন্য সবচেয়ে বেশি ব্যবহৃত ডেটা গঠন। বেশিরভাগ প্রোগ্রামিং ল্যাঙ্গুয়েজ অ্যারেগুলিতে সহজে অ্যারে এবং অ্যাক্সেস উপাদানের ঘোষণা দেয়। লিঙ্কযুক্ত তালিকা, আরো সুস্পষ্টভাবে একলি-লিঙ্ক তালিকা, এমন একটি তথ্য কাঠামো যা উপাদানগুলির সংগ্রহ সংরক্ষণ করতে ব্যবহার করা যেতে পারে। এটি নোডের ক্রম গঠিত এবং প্রতিটি নোডটি পরবর্তী নোডের রেফারেন্সের ক্রমানুসারে একটি রেফারেন্স থাকে।

চিত্র -1 এ বর্ণিত, সাধারণত একটি কোডের একটি টুকরো যা একটি অ্যারেরকে ডিক্লেয়ার এবং অর্পণ করতে ব্যবহৃত হয়। চিত্র 2 একটি অ্যারে মেমরির মত চেহারা হবে কিভাবে চিত্রিত।

উপরের কোডটি এমন একটি অ্যারের সংজ্ঞায়িত করে যা 5 পূর্ণসংখ্যা সংরক্ষণ করে এবং সেগুলি 0 থেকে 4 এর জন্য সূচকগুলি ব্যবহার করে অ্যাক্সেস করা যায়। একটি অ্যারেরের গুরুত্বপূর্ণ বৈশিষ্ট্য হল যে সম্পূর্ণ অ্যারে মেমরির একক ব্লক হিসাবে বরাদ্দ করা হয় এবং প্রতিটি উপাদান তার নিজস্ব স্থান পায় অ্যারে। একবার একটি অ্যারে সংজ্ঞায়িত করা হয়, তার আকার সংশোধন করা হয়। তাই যদি আপনি কম্পাইল সময় অ্যারের মাপ সম্পর্কে নিশ্চিত না হয়, আপনি একটি বড় যথেষ্ট অ্যারে সংজ্ঞায়িত করতে হবে নিরাপদ পার্শ্ব হতে। কিন্তু, বেশিরভাগ সময় আমরা আসলে কম বরাদ্দকৃত উপাদানগুলি ব্যবহার করে যাচ্ছি। সুতরাং মেমরি একটি উল্লেখযোগ্য পরিমাণ আসলে নষ্ট হয়। অন্য দিকে যদি "বড় বড় অ্যারে" আসলে যথেষ্ট বড় না হয়, প্রোগ্রাম ক্র্যাশ হবে।

--২ ->

একটি লিঙ্ক তালিকা তার মেমরির মেমরির পৃথক ব্লকের আলাদাভাবে মেমরির বরাদ্দ করে এবং সামগ্রিক কাঠামোটি একটি শিকল লিংক হিসাবে এই উপাদানগুলিকে যুক্ত করে প্রাপ্ত করা হয়। একটি সংযুক্ত তালিকার প্রত্যেকটি উপাদান চিত্র ২-এ বর্ণিত দুটি ক্ষেত্রের মতো। ডাটা ক্ষেত্রটি প্রকৃত ডাটা সংরক্ষণ করে এবং পরের ক্ষেত্রটি চেনের পরবর্তী উপাদানটির রেফারেন্স ধারণ করে। সংযুক্ত তালিকার প্রথম উপাদানটি সংযুক্ত তালিকার শীর্ষে সংরক্ষণ করা হয়।

তথ্য পরবর্তী

চিত্র 3: একটি লিঙ্কযুক্ত তালিকা এলিমেন্ট

চিত্র 4 তিনটি উপাদানের সাথে একটি লিঙ্কযুক্ত তালিকা অঙ্কিত। প্রতিটি উপাদান তার ডেটা সংরক্ষণ করে এবং সর্বশেষ উপাদানটি ছাড়াও সমস্ত উপাদান পরবর্তী উপাদানটির একটি রেফারেন্স সংরক্ষণ করে। পরবর্তী উপাদান তার পরবর্তী ক্ষেত্রের একটি নাল মান ঝুলানো। তালিকার কোনও উপাদান মাথায় শুরু করে এবং প্রয়োজনীয় পয়েন্টটি পূরণ না হওয়া পর্যন্ত পরবর্তী পয়েন্টার অনুসরণ করে অ্যাক্সেস করা যেতে পারে।

যদিও অ্যারে এবং লিঙ্ক তালিকাগুলি একই অর্থে একই রকম হয় যেগুলি তাদের উভয় উপাদানই সংগ্রহ করার জন্য ব্যবহার করা হয়, তবে তাদের উপাদানগুলির মেমরি বরাদ্দ করার জন্য ব্যবহার করা কৌশলগুলির কারণে তারা বিভিন্ন পার্থক্যের সম্মুখীন হয়। অ্যারে একটি একক ব্লক এবং অ্যারের আকার হিসাবে তার সমস্ত উপাদান মেমরি বরাদ্দ রানটাইম এ নির্ধারিত করা হয়েছে। এই পরিস্থিতিতে অ্যারে অকার্যকর যেখানে আপনি কম্পাইল সময় এ অ্যারের মাপ জানি না। যেহেতু একটি লিঙ্ক তালিকা আলাদাভাবে তার উপাদান মেমরির বরাদ্দ করে, এটি পরিস্থিতিতে কম্পাইল সময় তালিকা আপনি মাপ জানেন না যেখানে পরিস্থিতিতে অনেক দক্ষ হবে।একটি সূচী তালিকাতে উপাদানসমূহের অ্যাক্সেস এবং অ্যাক্সেস সরাসরি সোজা হবে না, তার তুলনায় আপনি কীভাবে সরাসরি নির্দেশনাগুলি ব্যবহার করে একটি অ্যারে উপাদানে সরাসরি অ্যাক্সেস করেন।