Algorithm Projects with Go

Lookups with Hash Tables you own this product

This project is part of the liveProject series Six Small Algorithm Projects with Go
structs • arrays • slices • receiver functions • the modulus operator • bit shift operators
skills learned
chaining • linear probing • quadratic probing • double hashing
Rod Stephens
1 week · 4-6 hours per week · BEGINNER

pro $24.99 per month

  • access to all Manning books, MEAPs, liveVideos, liveProjects, and audiobooks!
  • share your subscription with another person
  • choose one free eBook per month to keep
  • exclusive 50% discount on all purchases

lite $19.99 per month

  • access to all Manning books, including MEAPs!


5, 10 or 20 seats+ for your team - learn more

Look inside

As a summer intern at Ginormous Megadata Inc, you’ve been tasked with building a phone directory of the company’s 130,000 employees. The catch? Your boss won’t spring for an off-the-shelf database, the company’s firewall prevents you from searching for what you need online, and the summer isn’t long enough for you to build a full-fledged database from scratch. To complete your task, you decide to create a hash table, a data structure that enables you to use keys to store and retrieve items. You’ll experiment with different hash tables methods, including chaining, open addressing, and quadratic probing. When you’re finished, you’ll have hands-on experience creating a functional hash table you can use to build Ginormous Megadata’s phone directory, as well as a solid understanding of the trade-offs between different kinds of hash tables.

This project is designed for learning purposes and is not a complete, production-ready application or solution.

book resources

When you start your liveProject, you get full access to the following books for 90 days.

project author

Rod Stephens

Rod was a Microsoft Visual Basic Most Valuable Professional (MVP) for 15 years, has been a speaker at users’ groups and conferences, and has taught introductory programming courses. He’s written more than 35 books, including Essential Algorithms: A Practical Approach to Computer Algorithms Using Python and C# and Beginning Software Engineering, which include material related to this series of liveProjects.


This liveProject is for Go programmers, from beginning level to advanced, who want to learn how to build hash tables in Go. To begin these liveProjects you’ll need to be familiar with the following:


  • A Go compiler (such as Visual Studio Code or Online GDB)
  • The modulus operator and the bit shift operators
  • Receiver functions
  • Basic Go features (including arrays, receiver functions, structs, and slices)

you will learn

In this liveProject, you’ll learn how to build different kinds of hash tables and understand the trade-offs involved in each:

  • Chaining
  • Linear probing
  • Quadratic probing
  • Double hashing


You choose the schedule and decide how much time to invest as you build your project.
Project roadmap
Each project is divided into several achievable steps.
Get Help
While within the liveProject platform, get help from other participants and our expert mentors.
Compare with others
For each step, compare your deliverable to the solutions by the author and other participants.
book resources
Get full access to select books for 90 days. Permanent access to excerpts from Manning products are also included, as well as references to other resources.

choose your plan


only $41.67 per month
  • five seats for your team
  • access to all Manning books, MEAPs, liveVideos, liveProjects, and audiobooks!
  • choose another free product every time you renew
  • choose twelve free products per year
  • exclusive 50% discount on all purchases
  • Lookups with Hash Tables project for free