พจนานุกรม (แผนที่, อาร์เรย์สมาชิก) จัดเก็บ คีย์ → ค่า ที่เกี่ยวข้อง ซึ่งช่วยให้คุณค้นหาค่าตามคีย์ในเวลา **เฉลี่ย O(1)**ได้ ชุด คือแผนที่ที่มีคีย์แต่ไม่มีค่า — มันจัดเก็บเพียงความเป็นสมาชิก
ตัวอย่าง
python
# Counting word frequencies — a classic map use
text = "the cat the dog the".split()
counts = {}
for word in text:
counts[word] = counts.get(word, 0) + 1
# counts -> {'the': 3, 'cat': 1, 'dog': 1}
ages = {'alice': 30, 'bob': 25}
ages['alice'] # O(1) lookup by key -> 30
ages['carol'] = 40 # O(1) insert
'bob' in ages # O(1) key membership
ชุดเทียบกับแผนที่
| ชุด | แผนที่ / พจนานุกรม | |
|---|---|---|
| จัดเก็บ | คีย์เฉพาะตัว | คีย์ → ค่าคู่ |
| ค้นหา | "คีย์มีอยู่หรือไม่?" | "ค่าสำหรับคีย์คืออะไร?" |
| ใช้งาน | สมาชิกภาพ, การลบซ้ำ | การเชื่อมโยง, การนับ |
| การดำเนินการ | เฉลี่ย |
|---|---|
| แทรก / อัปเดต | O(1) |
| ค้นหา | O(1) |
| ลบ | O(1) |
ทำไมสิ่งนี้จึงสำคัญ
แผนที่เป็นเครื่องมือประจำวันสำหรับการสร้างดัชนีข้อมูลด้วยตัวระบุ — แคช, การกำหนดค่า, การนับความถี่ และการจัดกลุ่ม
พจนานุกรมสมัยใหม่ (เช่น Python 3.7+) ยังคงลำดับการแทรก ซึ่งรวมการเข้าถึงที่รวดเร็วเข้ากับการทำซ้ำที่คาดเดาได้
