All Projects → jamesroutley → Write A Hash Table

jamesroutley / Write A Hash Table

Licence: mit
✏️ Learn how to write a hash table in C

Projects that are alternatives of or similar to Write A Hash Table

Data Structures
This repository contains some data structures implementation in C programming language. I wrote the tutorial posts about these data structures on my personal blog site in Bengali language. If you know Bengali then visit my site
Stars: ✭ 82 (-97.09%)
Mutual labels:  data-structures, tutorial
Ultimate Java Resources
Java programming. All in one Java Resource for learning. Updated every day and up to date. All Algorithms and DS along with Development in Java. Beginner to Advanced. Join the Discord link.
Stars: ✭ 143 (-94.93%)
Mutual labels:  data-structures, tutorial
Competitive Programming
My competitive programming guide,reading materials, link to system and design interview preparation and my own coding solutions from Codechef, Leetcode,Geeks for Geeks, HackerRank , spoj, codesignal, codebyte, codeblocks and other online judges
Stars: ✭ 206 (-92.7%)
Mutual labels:  data-structures, tutorial
Regex For Regular Folk
🔍💪 Regular Expressions for Regular Folk — A visual, example-based introduction to RegEx [BETA]
Stars: ✭ 242 (-91.42%)
Mutual labels:  tutorial
Deeplearningcoursecodes
Notes, Codes, and Tutorials for the Deep Learning Course <which I taught at ChinaHadoop>
Stars: ✭ 241 (-91.46%)
Mutual labels:  tutorial
Qliksense Extension Tutorial
A comprehensive tutorial how to create Qlik Sense Visualization Extensions.
Stars: ✭ 244 (-91.35%)
Mutual labels:  tutorial
Kernel exploit world
Tutorial for writing kernel exploits
Stars: ✭ 248 (-91.21%)
Mutual labels:  tutorial
Pytorch Sentiment Analysis
Tutorials on getting started with PyTorch and TorchText for sentiment analysis.
Stars: ✭ 3,209 (+13.71%)
Mutual labels:  tutorial
Reactjs videoguides
ReactJS and Redux - Mastering Web Apps
Stars: ✭ 248 (-91.21%)
Mutual labels:  tutorial
Pillar Valley
👾A cross-platform video game built with Expo, three.js, and Firebase! 🎮🕹
Stars: ✭ 242 (-91.42%)
Mutual labels:  tutorial
Learn X By Doing Y
🛠️ Learn a technology X by doing a project - Search engine of project-based learning
Stars: ✭ 242 (-91.42%)
Mutual labels:  tutorial
Argo
使用go语言实现数据结构与算法,涵盖字符串、数组、链表、队列、栈、树、图等数据结构。在实现算法的基础上,进行go语言实战。此外也包含经典算法在go实战项目中的应用,以及开源项目算法方面源码分析。
Stars: ✭ 243 (-91.39%)
Mutual labels:  data-structures
Typescript For Beginner Programmers
TypeScript for Beginner Programmers
Stars: ✭ 244 (-91.35%)
Mutual labels:  tutorial
Train Robot Arm From Scratch
Build environment and train a robot arm from scratch (Reinforcement Learning)
Stars: ✭ 242 (-91.42%)
Mutual labels:  tutorial
Dl tutorial
Tutorials for deep learning
Stars: ✭ 247 (-91.25%)
Mutual labels:  tutorial
Rethink C
A reuseable codebase for C Programming Language.
Stars: ✭ 241 (-91.46%)
Mutual labels:  data-structures
Cookbook
Code snippets for various programming languages and libraries
Stars: ✭ 245 (-91.32%)
Mutual labels:  tutorial
Awesome Android Complete Reference
Awesome Android references for everything like best practices, performance optimization, etc.
Stars: ✭ 2,701 (-4.29%)
Mutual labels:  tutorial
Rust Algorithms
Common data structures and algorithms in Rust
Stars: ✭ 2,918 (+3.4%)
Mutual labels:  data-structures
Unity Shader Basics Tutorial
A introduction into creating shaders for Unity
Stars: ✭ 243 (-91.39%)
Mutual labels:  tutorial

Write a hash table in C

Hash tables are one of the most useful data structures. Their quick and scalable insert, search and delete make them relevant to a large number of computer science problems.

In this tutorial, we implement an open-addressed, double-hashed hash table in C. By working through this tutorial, you will gain:

  • Understanding of how a fundamental data structure works under the hood
  • Deeper knowledge of when to use hash tables, when not to use them, and how they can fail
  • Exposure to new C code

C is a great language to write a hash table in because:

  • The language doesn't come with one included
  • It is a low-level language, so you get deeper exposure to how things work at a machine level

This tutorial assumes some familiarity with programming and C syntax. The code itself is relatively straightforward, and most issues should be solvable with a web search. If you run into further problems, please open a GitHub Issue.

The full implementation is around 200 lines of code, and should take around an hour or two to work through.

Contents

  1. Introduction
  2. Hash table structure
  3. Hash functions
  4. Handling collisions
  5. Hash table methods
  6. Resizing tables
  7. Appendix: alternative collision handling

Credits

This tutorial was written by James Routley, who blogs at routley.io.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].