What have we learned
Summary
We learned about different types of lines, including arrays, queues, and stacks. Queues have items load into the back, and out from the front. Stacks have items load into the front, and out from the front.
I also taught you about Dictionaries/hashes, linked lists, and graphs. Dictionaries are efficient for lookup, but can suffer from collisions. Linked lists are good for deleting and adding, but are the same as arrays for searching. Graphs are good for representing relationships, be they between people, words, or otherwise.
A cache is a way to store data that you need to fetch efficiently, a common method for building a cache is an LRU, last recently used. A cycle means that a graph is not a tree.
Questions
- What are the different access times between the different ADTs?
- How does hashing work? What is a collision?
- What are the differences between a stack, a queue, and an array? Dynamic and static array?
- What are is the difference between a singly and doubly linked list?
- What is a heap?