পাইথন ডিকশনারি (dict) খুবই হাইলি অপ্টিমাইজড। এটি হ্যাশ টেবিল (hash table) বেসড ইমপ্লিমেন্টেশন।
টাইম কমপ্লেক্সিটি
| অপারেশন | কমপ্লেক্সিটি |
|---|---|
| ক্রিয়েশন (N কী) | O(N) |
| ফেচিং (লুকআপ) | O(1) এভারেজ |
| ইনসারশন/আপডেট | O(1) অ্যামোর্টাইজড |
| ডিলিশন | O(1) এভারেজ |
| ইটারেশন | O(N) |
কারণ দ্রুত
- C-লেভেল ইমপ্লিমেন্টেশন (CPython-এ)
- হ্যাশ টেবিলের সাথে ওপেন অ্যাড্রেসিং (open addressing)
- ডাইনামিক রিসাইজিং (লোড ফ্যাক্টর মেইনটেইন)
- পাইথন নিজে নিজের ক্লাসগুলো ডিকশনারি দিয়ে ইমপ্লিমেন্ট করে
তুলনা: লিস্ট vs ডিক্ট
- লিস্ট/টাপল: সিকোয়েনশিয়াল অ্যাক্সেস, O(n) সার্চ
- ডিক্ট/সেট: হ্যাশ-ভিত্তিক, O(1) লুকআপ
- সমস্যা অনুযায়ী সঠিক ডেটা স্ট্রাকচার বেছে নিন
নिष्कর্ষ: ডিকশনারি এক্সপ্লিসিটলি অপ্টিমাইজ করার প্রয়োজন নেই। এটি ইতিমধ্যে অপ্টিমাল।