二叉排序树根结点地址.pptVIP

  • 18
  • 0
  • 约1.46万字
  • 约 63页
  • 2017-06-06 发布于天津
  • 举报
二叉排序树根结点地址

H(key) = a·key + b (a、b为常数) 优点:以关键码key的某个线性函数值为散列地址,不会产生冲突. 缺点:要占用连续地址空间,空间效率低。 例:关键码集合为{100,300,500,700,800,900}, 选取散列函数为Hash(key)=key/100, 则存储结构(散列表)如下: 0 1 2 3 4 5 6 7 8 9 900 800 700 500 300 100 1、直接定址法 H(key)= ? B*( A*key % 1 ) ? (A、B均为常数,且0A1,B为整数) 特点:以关键码key乘以A,取其小数部分,然后再放大B倍并取整,作为散列地址。 H(key)=key % p (p是一个整数) 特点:以关键码除以p的余数作为散列地址。 关键:如何选取合适的p? 技巧:若设计的散列表长为MAX,则一般取p≤MAX且为质数 3、乘余取整法 2、除留余数法 (A*key % 1) 就是取A*key 的小数部分 例:欲以学号最后两位作为地址,则散列函数应为: H(k)=100*(0.01*k % 1 ) 其实也可以用法2实现: H(k)=k % 100 特点:某关键字的某几位组合成散列地址。所选的位应当是

文档评论(0)

1亿VIP精品文档

相关文档