作者julie7994 (小屁)
看板EE_DSnP
标题[问题] about hash
时间Sun Jan 16 23:06:26 2011
请问一下
如果每个bucket有可能会overflow
那应该是一刚开始bucket的size是定死的
然後超过才要处理overflow
那
hash 中 bucket的size要怎麽决定??在哪里决定?
那如果
用push_back去insert node
会一直动态增加size
虽然有可能会造成每个bucket不平均
但那这样
我是不是可以不用处理overflow的问题了?
谢谢:)
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.4.183
1F:推 ric2k1:Hash 的 #buckets 可以在 constructor 指定,或是呼叫 init 01/17 00:37
2F:→ ric2k1:至於 #buckets 应该订多少,我建议你可以预估实际上会有的 01/17 00:38
3F:→ ric2k1:#nodes 来做调整,通常是取个质数。 01/17 00:38
4F:推 ric2k1:myHash 里头的 Hash 每个 bucket里头存的是vector<HashNode 01/17 00:39
5F:→ ric2k1:他的 size 是可以长大的,所以你可以不用考虑 overflow 的 01/17 00:40
6F:→ ric2k1:问题。不过还是要好好设计 hash function, so that you can 01/17 00:40
7F:→ ric2k1:have a balanced distribution. 01/17 00:40