Επιλέξτε τη δομή της οποίας οι πιο συχνές λειτουργίες είναι φθηνότερες για το μοτίβο πρόσβασης σας. Ξεκινήστε καταγράφοντας τις λειτουργίες που θα εκτελέσετε, εκτιμήστε τη συχνότητά τους και, στη συνέχεια, ταιριάξτε τις με τα ισχυρά σημεία της δομής.
Λίστα ελέγχου αποφάσεων
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)
