Explain and implement Linked Lists.
- What properties does an instance of a linked list track?
- What methods does a linked list need to implement?
- What are the time complexities for these methods?
- What’s the difference between a Singly Linked List and a Doubly Linked List? How would the difference impact the properties and the methods that we implement?
- Practice creating both types. Use Thursday’s project as an example/guide.
Explain and implement a Stack.
- Define LIFO and ADT and how it relates
- What methods does a stack need to implement?
- What are the time complexities for these methods?
- Know how to implement a stack using both a node class as well as just an array instance variable. Use Thursday’s project as an example/guide for your usage of a Node. How would this change if we just wanted to keep an array instance variable on our Stack instead?
Explain and implement a Queue.
- Define FIFO and ADT and how it relates
- What methods does a queue need to implement?
- What are the time complexities for these methods?
- Know how to implement a queue using both a node class as well as just an array instance variable. Use Thursday’s project as an example/guide for your usage of a Node. How would this change if we just wanted to keep an array instance variable on our Queue instead?