
Hash Tables and Collision Resolution Strategies
Students will understand how variables are used to store and retrieve different types of data (numbers, text) in a program.
About This Topic
Students will understand how variables are used to store and retrieve different types of data (numbers, text) in a program.
Key Questions
- Compare separate chaining and open addressing (linear probing, quadratic probing, double hashing) as collision resolution strategies, analysing how each affects worst-case and average-case lookup time as load factor increases.
- Derive the expected number of probes for a successful search under uniform hashing with open addressing and explain the significance of the load factor threshold for rehashing.
- Design and evaluate a hash function for a given key domain, justifying its distribution properties and explaining how a poor hash function can cause worst-case O(n) performance.
Active Learning Ideas
See all activities→Activities & Teaching Strategies
See all activities
More in Abstract Data Structures and Algorithms
Introduction to Computational Thinking
Students will be introduced to the core concepts of computational thinking: decomposition, pattern recognition, abstraction, and algorithms, as problem-solving tools.
8 methodologies
Linked Lists: Implementation and Complexity Analysis
Students will learn basic ways to organize data using simple lists and tables, understanding how this helps in managing information.
8 methodologies
Stacks and Queues: Implementations and Applications
Students will identify and create simple step-by-step instructions (algorithms) for everyday tasks, understanding the importance of order and precision.
8 methodologies
Binary Trees and Binary Search Trees
Students will explore how 'if-then-else' statements allow programs to make decisions and respond to different conditions.
8 methodologies
AVL Trees and Height-Balanced Structures
Students will learn about loops (e.g., 'repeat' or 'for' loops) to perform actions multiple times, making programs more efficient.
8 methodologies
Heaps and Priority Queues
Students will learn to create and use simple functions to group related instructions, making programs more organized and easier to manage.
8 methodologies