- 主题:对int数据顺序查找和hashmap效率的临界规模N是多大?
20个元素以内的顺序查找,是不是比hashmap快?
50个呢?
100个呢?
--
FROM 114.249.184.*
内容不同时间就不同吧,你用两个程序试试。
我有一个应用,查一个表,一般是顺序的。如果提供索引就用索引。索引是hash的。
大概差不多是20几项hash就比较快了。
【 在 finlab 的大作中提到: 】
: 20个元素以内的顺序查找,是不是比hashmap快?
: 50个呢?
: 100个呢?
--
修改:ylh0315 FROM 221.218.61.*
FROM 221.218.61.*
【 在 finlab 的大作中提到: 】
: 20个元素以内的顺序查找,是不是比hashmap快?
: 50个呢?
: 100个呢?
算法就是算法,
回答这个问题, 无非是查找次数,
hash表有多大? 决定着冲突的次数, 如果你哈希表长度设成1, 那和顺序查找一样差。
如果, 不合适的填充因子,哈希表很大,很稀疏,不能命中缓存,这个时候内存因素就很大了
顺序数据,能很好命中缓存, 性能会更好。
--
FROM 124.126.2.*
搞过等大的hash表,当然是对于静态数据。
冲突了就找一个空项链接到hash节点后边。
理论上可能退化为链表。
【 在 poggy 的大作中提到: 】
:
: 算法就是算法,
: 回答这个问题, 无非是查找次数,
: ...................
--
FROM 221.218.61.*
比较顺序和hash的速度区别,基本上就是cache hit rate的问题,很随机,和算法复杂度关系不大
【 在 finlab 的大作中提到: 】
: 20个元素以内的顺序查找,是不是比hashmap快?
: 50个呢?
: 100个呢?
--
FROM 125.118.37.*
这也要看hashmap的具体实现的,在olap里面的range hash你是先hash在顺序查找,这样cache更友好
【 在 finlab (挨踢卢瑟) 的大作中提到: 】
: 20个元素以内的顺序查找,是不是比hashmap快?
: 50个呢?
: 100个呢?
:
--
FROM 117.136.46.*