What is the instance of a problem?
What is the difference between an abstract datatype and a data structure?
What is the Random Access Machine model?
What is amortised analysis and how is it different from average-case analysis?
What are the 3 main methods of amortised analysis?
How can we do amortised analysis to a stack with push, pop and multipop?
How does amortised analysis apply to dynamic tables (resizing arrays)?
What are the key properties and time complexities of linked lists?
What is a hash map?
How do we keep our hash table as efficient as possible?
Why are polynomial hash functions better than linear?
What is open addressing in hash maps and what are the 3 main strategies?
What is load factor and what does it indicate?
What is the average and worst-case time complexities of hash maps?
What are we assuming as well?
What is rehashing and what is its amortised cost?
What are the 5 types of tree and explain them all
Compare and explain array and linked representations of binary trees
Name and explain each type of tree traversal
What are the 2 main types of tree search and how is each implemented?
What is a binary search tree?
Explain the uniform and non-uniform time complexities of BST operations
What is an AVL tree and what are its properties?
What is a balance factor in an AVL tree?
Explain left and right rotations of AVL trees