10. queue
first in first out
in event driven operating systems, a queue is used to store the events occurring in the system.
9. linked list
fast inertion and deletion
dynamic sized lists
8. stack
LIFO
7. priority queue
they are like queues only they always give you the largest item in the queue, or the smallest
6. hash table
used for dictionary problems
it is an array that is not indexed necessarily by integers, but by hash keys
allows extremely fast lookups of arbitrary keys (strings...)
5. Binary Trees
BST: search in log(n) time
heap
4. vector
3. matrix
2. array
fast index based lookups
1. Scalar Variables
to control the scalar variable is one of the most fascinating adventures in thoughts, it is fundamental to what it means to solve a problem to question and to answer.