Scegli la struttura le cui operazioni più frequenti sono più economiche per il tuo schema di accesso. Inizia elencando le operazioni che eseguirai, stima la loro frequenza, quindi abbina la struttura alle sue caratteristiche di forza.
Una checklist decisionale
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)
