lovehunterboy
驱动小牛
驱动小牛
  • 注册日期2008-05-29
  • 最后登录2010-04-16
  • 粉丝2
  • 关注0
  • 积分67分
  • 威望463点
  • 贡献值1点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1279回复:1

哈希表为什么要这样用?

楼主#
更多 发布于:2008-09-09 19:59
最近学习了regmon和filespy.其中定义的哈希表大致相同。
在regmon中:
#define HASHOBJECT(_regobject) (((ULONG)_regobject)>>2)%NUMHASH  //除4取256的模(1024)
在filespy中:
#define HASH_FUNC(FileObject)     (((UINT_PTR)(FileObject) >> 8) & (HASH_SIZE - 1)) //除8取后7位

这里的哈希表不就是为了把一序列对像用数字关连起来吗?怎么不像数组那样从0开始取1、2、3这些序数啊?????????
znsoft
管理员
管理员
  • 注册日期2001-03-23
  • 最后登录2023-10-25
  • 粉丝300
  • 关注6
  • 积分910分
  • 威望14796点
  • 贡献值7点
  • 好评度2410点
  • 原创分5分
  • 专家分100分
  • 社区居民
  • 最爱沙发
  • 社区明星
沙发#
发布于:2008-09-09 20:51
如果从0开始,那得开多大的空间?

hash算表的目的就是用算法计算出需要的下标,而不是去穷举
http://www.zndev.com 免费源码交换网 ----------------------------- 软件创造价值,驱动提供力量! 淡泊以明志,宁静以致远。 ---------------------------------- 勤用搜索,多查资料,先搜再问。
游客

返回顶部