r****o 发帖数: 1950 | 1 【 以下文字转载自 JobHunting 讨论区 】
发信人: roufoo (五经勤向窗前读), 信区: JobHunting
标 题: 请问关于hash table的大小设定问题。
发信站: BBS 未名空间站 (Mon Jun 7 18:42:24 2010, 美东)
【 以下文字转载自 InterviewHackers 俱乐部 】
发信人: roufoo (五经勤向窗前读), 信区: InterviewHackers
标 题: 请问关于hash table的大小设定问题。
发信站: BBS 未名空间站 (Mon Jun 7 18:42:14 2010, 美东)
请问,假如有n个key的话,hashtable的size一般设为多大比较合适?
这个size的大小跟hash function的选择有关系吗? |
z****e 发帖数: 2024 | |
r****o 发帖数: 1950 | 3 几倍?
2倍行吗?
【在 z****e 的大作中提到】 : 至少几倍以上吧。
|
z****e 发帖数: 2024 | 4 no。
【在 r****o 的大作中提到】 : 几倍? : 2倍行吗?
|
g*****g 发帖数: 34805 | 5 Usually it degrades when load factor > 0.7
How you want to choose the capability depends on how dynamic
it is.
【在 r****o 的大作中提到】 : 几倍? : 2倍行吗?
|
y***d 发帖数: 2330 | 6 阅读了一下,依赖于 hash table 的实现方式;动态分配内存的没有这个问题
http://en.wikipedia.org/wiki/Hash_table
【在 g*****g 的大作中提到】 : Usually it degrades when load factor > 0.7 : How you want to choose the capability depends on how dynamic : it is.
|
g*****g 发帖数: 34805 | 7 Expanding table can be slow. If you know well how many items
you are going to have. Setting a good initial capability is
important.
【在 y***d 的大作中提到】 : 阅读了一下,依赖于 hash table 的实现方式;动态分配内存的没有这个问题 : http://en.wikipedia.org/wiki/Hash_table
|
a*******s 发帖数: 79 | 8 linear probing大概是比你要hash的项数大的那个素数吧 |