কম্পিউটার সায়েন্সে, একটি অ্যাসোসিয়েটিভ অ্যারে, ম্যাপ, সিম্বল টেবিল, বা ডিকশনারি হলো একটি অ্যাবস্ট্রাক্ট ডেটা টাইপ যা (key, value) পেয়ারগুলোর একটি সংগ্রহसे কম্পোজড, যাতে প্রতিটি সম্ভাব্য কী সংগ্রহে সর্বোচ্চ একবার উপস্থিত থাকে। নোট করুন যে একটি ডিকশনারিকে ম্যাপও বলা হয়।
ডিকশনারি সমস্যা একটি ক্লাসিক কম্পিউটার সায়েন্স সমস্যা: 'search', 'delete', এবং 'insert' অপারেশন vrijeme ডেটার একটি সেট মেইনটেইন করার টাস্ক। ডিকশনারির অনেক ধরনের ইমপ্লিমেন্টেশন আছে।
- হ্যাশ টেবিল ইমপ্লিমেন্টেশন
- ট্রি-বেইড ইমপ্লিমেন্টেশন (সেলফ-ব্যালেন্সিং এবং আনব্যালেন্সড ট্রি)
- লিস্ট বেইড ইমপ্লিমেন্টেশন
কখন ডিকশনারি ব্যবহার করবেন
ডিকশনারি সিলভার বুলেট নয় এবং আপনি যেকোনো সুযোগে ব্যবহার করা উচিত নয়। এগুলো অনেক সিনেরিওতে উপযোগী, কিন্তু ডিকশনারি ব্যবহার করে একটি সমস্যা সমাধান করার সিদ্ধান্ত নেওয়ার আগে নিচের পয়েন্টগুলো মনে রাখতে হবে।
- ইনসার্ট সাধারণত ধীর, রিড ট্রি-র চেয়ে দ্রুত।
- দ্রুত লুকআপের জন্য এইগুলো ব্যবহার করুন, উদাহরণস্বরূপ, ডেটা ক্যাশ করা, ডেটাবেস ইনডেক্স করা, সিম্বল টেবিল ইত্যাদি।
- যখন এলিমেন্টের অর্ডার মেনে না।
- যখন সব এলিমেন্টের কী ইউনিক থাকে।
আমরা যে মেথডগুলো ইমপ্লিমেন্ট করব
ডিকশনারির সাধারণত ভালো ডিফাইনড API থাকে। আমরা নিচের определিত বেসিক ডিকশনারি API ইমপ্লিমেন্ট করব −
- get(): ইনপুট কী দিয়ে এলিমেন্ট পাওয়া
- put(): ডিকশনারিতে কী-ভ্যালু পেয়ার রাখা
- hasKey(): কী ডিকশনারিতে আছে কিনা চেক করা
- delete(): ডিকশনারি থেকে দেওয়া কী সরানো
- clear(): ডিকশনারি থেকে সব কী-ভ্যালু পেয়ার সরানো
- keys(): সব কী অ্যারে হিসেবে রিটার্ন করা
- values(): সব ভ্যালু অ্যারে হিসেবে রিটার্ন করা