教你从零开始写一个哈希表

  哈希表是最有用的数据结构之一。它的快速和可扩展的插入、查询以及删除特性,使得它跟许多的计算机科学问题有关联。
  在这个教程中,我们用C语言实现了开放寻址和再哈希的(方式解决冲突的)哈希表。通过学习这个教程,你将会掌握:

  • 理解基础数据结构的底层原理;
  • 更加深刻的认识到何时应该使用哈希表,何时不应该使用,以及为何在某些情况下它会失灵;
  • 了解一些新的C语言代码。

C语言是编写哈希表极好的语言,因为:

  • 这门语言并没有其他的依赖;
  • 它是一门底层语言,所以你可以更深刻的理解程序在硬件层面是如何工作的。

  这份教程假定读者熟悉编程以及C语言的语法。教程的代码写的比较直接明了。你遇到的大部分问题都应该先尝试用搜索引擎来解决。如果你遇到了更深层次的问题,请给我提一个Github Issue

  完整的实现,大概200行代码。这个教程读完需要一到两个小时。

目录

  1. 导读
  2. 哈希表结构
  3. 哈希函数
  4. 哈希冲突
  5. 哈希表接口
  6. 哈希表扩张
  7. 附录:其他的哈希冲突解决方案

原文地址: https://github.com/jamesroutley/write-a-hash-table

下一篇:教你从零开始写一个哈希表–导读

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值