বিমূর্ত এবং কংক্রিট ডেটা স্ট্রাকচারের মধ্যে পার্থক্য কী?


17

আমি ভেবেছিলাম এসোসিয়েটিভ অ্যারে (যেমন মানচিত্র, বা অভিধান) এবং হ্যাশিং টেবিল একই ধারণা ছিল, যতক্ষণ না আমি উইকিপিডিয়ায় দেখি যে

খুব কম সংখ্যক বাইন্ডিং সহ অভিধানগুলির জন্য, একটি সমিতি তালিকা, বাইন্ডিংগুলির একটি লিঙ্কযুক্ত তালিকা ব্যবহার করে অভিধানটি প্রয়োগ করা বুদ্ধিমান হতে পারে। ...

কোনও এসোসিয়েটিভ অ্যারের সবচেয়ে ঘন ঘন ব্যবহৃত সাধারণ উদ্দেশ্য বাস্তবায়ন হ্যাশ টেবিলের সাথে থাকে: বাইন্ডিংয়ের একটি অ্যারে, হ্যাশ ফাংশন সহ যা প্রতিটি সম্ভাব্য কীটিকে অ্যারে সূচকগুলিতে ম্যাপ করে। ...

শব্দভাণ্ডারগুলি বাইনারি অনুসন্ধানের গাছগুলিতে বা নির্দিষ্ট ধরণের কীগুলিতে যেমন র‌্যাডিক্স ট্রি, চেষ্টা, জুডি অ্যারে বা ভ্যান এমডে বোস গাছগুলিতে বিশেষভাবে ব্যবহৃত ডেটা স্ট্রাকচারেও সংরক্ষণ করা যেতে পারে। ...

সুতরাং, আমি মনে করি, আমার সমস্যাটি এই যে আমি জানি না যে মিশুক অ্যারে (যেমন মানচিত্র, বা অভিধান) একটি বিমূর্ত ডেটা টাইপ এবং হ্যাশিং টেবিলটি একটি কংক্রিট ডেটা কাঠামো, এবং বিভিন্ন কংক্রিট ডেটা স্ট্রাকচারগুলি প্রয়োগ করতে ব্যবহার করা যেতে পারে একই বিমূর্ত ডেটা টাইপ।

আমার প্রশ্ন হবে

  • বিমূর্ত ডেটা স্ট্রাকচার এবং কংক্রিট ডেটা স্ট্রাকচারের মধ্যে পার্থক্য এবং সম্পর্ক কী?

  • তাদের প্রত্যেকের জন্য কী কী উদাহরণ (বিমূর্ত এবং কংক্রিট ডেটা স্ট্রাকচার)? যত বেশি তত ভালো.

  • কী কী বিমূর্ত ডেটা স্ট্রাকচার প্রয়োগ করতে কংক্রিট ডেটা স্ট্রাকচার ব্যবহার করা যেতে পারে তার একটি তালিকা আছে? এটি একটি ভাল লাগবে।

উত্তর:


17

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

একক উত্তরে তালিকার জন্য অনেকগুলি ADT এবং সংশ্লিষ্ট কংক্রিট কাঠামো রয়েছে তবে এখানে কয়েকটি উদাহরণ দেওয়া হল:

  • Find(x)এক্সএক্সInsert(x)Delete(x)

  • Findsuccessor(x)এসএক্সটিএসগুলি<টি। কংক্রিট ডেটা স্ট্রাকচারগুলি যা সাকসেসর এডিটি সমর্থন করে বিভিন্ন বাইনারি অনুসন্ধান গাছ এবং আরও জটিল কাঠামো যেমন এক্স-ফাস্ট ট্রাই বা ভ্যান এমডে বোস ট্রি (কীগুলি পূর্ণসংখ্যা হয়) অন্তর্ভুক্ত।

  • একটি অগ্রাধিকার সারিবদ্ধ একটি এডিটি যে প্রয়োজন insertএবং delete-min(যেমন এবং কখনও কখনও অন্যান্য অপারেশন পাশাপাশি, অপারেশন find-min increase-keyবা delete-key)। অগ্রণী সারি ADT প্রয়োগ করে এমন ডেটা স্ট্রাকচারগুলির মধ্যে রয়েছে:

    1. একটি অমীমাংসিত লিঙ্ক তালিকা, যা দ্রুত insertকিন্তু ধীর delete-min

    2. একটি সাজানো লিঙ্কযুক্ত তালিকা যা দ্রুত delete-minতবে ধীর রয়েছেinsert

    3. একটি বাইনারি অনুসন্ধান ট্রি, যা লোগারিদমিক insertএবং delete-minএবংগুলিRটি(এন) আরম্ভের সময়।

    4. একটি বাইনারি হিপ যা লোগারিদমিক insertএবং delete-min, এবং লিনিয়ার সময় সূচনা হয়।

    5. গাদা বাস্তবায়নের অন্যান্য রূপগুলিও রয়েছে ।

  • একটি অন্তর্বর্তী ছুরি এডিটি সত্যিকারের লাইনে অন্তরগুলির একটি সেট বজায় রাখে এবং একটি কোয়েরিকে সমর্থন করে stabbing(x), যা অন্তরগুলির উপসেটটি দেয় যা বিন্দুতে (ছুরিকাঘাত করা হয়) দেয়এক্স। ডেটা স্ট্রাকচার যা ছুরিকাঘাতে ক্যোরি ADT বাস্তবায়িত করে সেগুলিতে একটি সেগমেন্ট ট্রি এবং একটি ইন্টারভাল ট্রি অন্তর্ভুক্ত


9

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

কংক্রিট ডেটা টাইপ বলছে যে কীভাবে এই অপারেশনগুলি বাস্তবায়িত হয়।


ধন্যবাদ! কোন সাধারণ তথ্য কাঠামোর তালিকা কোনটি, বিমূর্ত বা কংক্রিটের রয়েছে?
14

সাধারণ তালিকা নয়, তবে আপনি xlinux.nist.gov/dads
আলেক্সি রোমানভ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.