Overview

Published

2023-08-06

Week 09: Searching; introduction to hash tables

This week, we’ll see how to perform searches on linear structures, and we’ll begin our study of hashing and hash tables.

Searching linear structures

  • Linear search
  • Binary search
  • Interpolation search

Introduction to hash tables

  • Hash tables
  • Horner hash
  • Hash collisions
  • Separate chaining

This video is re-used from a previous semester, but I think it covers everything well. Just ignore the last bit about a discussion board).

Learning Objectives

By the end of this module, you will be able to:

  • Understand and implement binary search on a vector or array
  • Understand how interpolation sort works, and use cases for interpolation sort
  • Understand an implement a simple hash table
  • Explain why hash collisions are a problem and give one solution for handling such collisions—chaining.

To achieve this module’s objectives, please watch the introductory video (above), and complete the following:

Read: Essential Algorithms, Chapters 7 (searching) and 8 (hash tables)

Read / view the following content and complete any comprehension checks:

  • Searching
  • Introduction to hashing
  • Collisions
  • Separate chaining

Original author: Clayton Cafiero < [given name] DOT [surname] AT uvm DOT edu >

No generative AI was used in producing this material. This was written the old-fashioned way.

All materials copyright © 2020–2023, The University of Vermont. All rights reserved.