HASH桶是什么东西?

来源:百度知道 编辑:UC知道 时间:2024/06/13 18:44:32
难道就是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的效果是一样了。

桶排序与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, 如果是sk