เลือกโครงสร้างที่ การดำเนินการที่บ่อยที่สุดมีราคาถูกที่สุด สำหรับรูปแบบการเข้าถึงของคุณ เริ่มต้นด้วยการระบุการดำเนินการที่คุณจะทำ ประมาณความถี่ของพวกมัน จากนั้นจับคู่ให้สอดคล้องกับจุดแข็งของโครงสร้าง
รายการตรวจสอบการตัดสินใจ
text
1. How do you access data? by index -> array
by key -> hash map
by order -> tree / heap
2. Need ordering? sorted -> balanced BST / sorted array
FIFO -> queue
LIFO -> stack
3. Frequent middle inserts? -> linked list
4. Need fast "seen it?" -> set / hash map
5. Need "best/min/max next" -> heap (priority queue)
