Map কন্টেইনার
Map একটি অ্যাসোসিয়েটিভ কন্টেইনার যা কি-ভ্যালু পেয়ার সংরক্ষণ করে। প্রতিটি কি অনন্য। মূল মেথডগুলো:
begin()- প্রথম এলিমেন্টের ইটারেটর।end()- শেষ এলিমেন্টের পরের স্যাবধানিক ইটারেটর।size()- এলিমেন্ট সংখ্যা।max_size()- সর্বোচ্চ ধারণ ক্ষমতা।empty()- খালি কিনা।
Map উদাহরণ
#include <bits/stdc++.h>
using namespace std;
int main() {
int A[] = { 2, 2, 3, 2, 2, 4, 5, 4 };
int num = sizeof(A) / sizeof(A[0]);
map<int, int> my_map;
for (int p = 0; p < num; p++)
my_map[A[p]]++;
cout << "Item Frequency" << endl;
for (auto p : my_map)
cout << p.first << " : " << p.second << endl;
}
Item Frequency 2 : 4 3 : 1 4 : 2 5 : 1
Unordered Map
unordered_map হ্যাশ টেবিল ভিত্তিক, কি-ভ্যালু পেয়ার সংরক্ষণ করে। কি এবং ভ্যালু যেকোনো টাইপ হতে পারে। ক্রম বজায় রাখে না।
Unordered Map উদাহরণ
#include <bits/stdc++.h>
using namespace std;
int main() {
int A[] = { 2, 2, 3, 2, 2, 4, 5, 4 };
int num = sizeof(A) / sizeof(A[0]);
unordered_map<int, int> my_map;
for (int p = 0; p < num; p++)
my_map[A[p]]++;
cout << "Item Frequency" << endl;
for (auto p : my_map)
cout << p.first << " : " << p.second << endl;
}
Item Frequency 5 : 1 4 : 2 2 : 4 3 : 1
প্রধান পার্থক্য
| শেষности | map | unordered_map |
|---|---|---|
| ক্রম | সর্টেড (কি অনুযায়ী) | ক্রম নেই |
| সার্চ টাইম | O(log n) | গড়ে O(1) |
| ইমপ্লিমেন্টেশন | ব্যালেন্সড BST (রেড-ব্ল্যাক ট্রি) | হ্যাশ টেবিল |