Alege structura ale cărei operații cel mai frecvente sunt cel mai ieftine pentru modelul tău de acces. Începe prin a lista operațiile pe care le vei efectua, estimează frecvența lor, apoi potrivește-le cu punctele forte ale structurii.
Lista de verificare a deciziilor
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)
