HASH桶是什么东西?

难道就是HASH表?如果不是的话,具体讲讲吧

  意思是:桶排序与hash表
这个也是看桶排序的时候。看CLRS上讲它的过程, 与hash表的区别是,经过hash后的数据,hash桶之间是无序的! 而桶排序是有序的,其余的过程一样。
其实hash表里的hash算法演变成类似求和,并且如果结果如果不超过桶的个数,那么这就演变成了桶排序!

比如,要插入一个字符串集合(non-case)(这个东西在compiler的lex和symbol table部分是最常见不过的),
那么如果桶为26个,这样如果hash的时候设计成按照字符串的1st字母来分的话, a进第一个同,b进2nd,......
那么就是桶排序了,如果一个桶内存在多个(hash称之为conflict),用插入来拍,这个在很少的关键字的时候,比用一个很复杂的hash算法要好, 因为在按照1st个字符来决定进哪个桶的时候可以直接将字符作为index进去,至于桶里面的有序数据(链存储貌似用不了bin-search, 如果是skip-list就和bin-search的效果是一样了。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-04-21
  桶排序简介:
  这个也是看桶排序的时候, 自己的第一个反应!
看CLRS上讲它的过程, 与hash表的区别是,经过hash后的数据,hash桶之间是无序的! 而桶排序是有序的,其余的过程一样
其实hash表里的hash算法演变成类似求和,并且如果结果如果不超过桶的个数,那么这就演变成了桶排序!

比如,我们要插入一个字符串集合(non-case)(这个东西在compiler的lex和symbol table部分是最常见不过的),
那么如果桶为26个,这样如果hash的时候设计成按照字符串的1st字母来分的话, a进第一个同,b进2nd,......
那么就是桶排序了,如果一个桶内存在多个(hash称之为conflict),用插入来拍,这个在很少的关键字的时候,
比用一个很复杂的hash算法要好, 因为在按照1st个字符来决定进哪个桶的时候可以直接将字符作为index进去,
至于桶里面的有序数据(链存储貌似用不了bin-search, 如果是skip-list就和bin-search的效果是一样了
第2个回答  推荐于2018-03-05
桶排序与hash表
这个也是看桶排序的时候, 自己的第一个反应!
看CLRS上讲它的过程, 与hash表的区别是,经过hash后的数据,hash桶之间是无序的! 而桶排序是有序的,其余的过程一样
其实hash表里的hash算法演变成类似求和,并且如果结果如果不超过桶的个数,那么这就演变成了桶排序!

比如,我们要插入一个字符串集合(non-case)(这个东西在compiler的lex和symbol table部分是最常见不过的),
那么如果桶为26个,这样如果hash的时候设计成按照字符串的1st字母来分的话, a进第一个同,b进2nd,......
那么就是桶排序了,如果一个桶内存在多个(hash称之为conflict),用插入来拍,这个在很少的关键字的时候,
比用一个很复杂的hash算法要好, 因为在按照1st个字符来决定进哪个桶的时候可以直接将字符作为index进去,
至于桶里面的有序数据(链存储貌似用不了bin-search, 如果是skip-list就和bin-search的效果是一样了)

以上是由刚刚hearson的那个问题所想到的...................本回答被提问者和网友采纳
第3个回答  2018-03-05

网页链接Consistent Hash部分有介绍。

相似回答