Redian新闻
>
还是做点正经的
avatar
还是做点正经的# Stock
M*a
1
应该是遍历一下O(n)的时间复杂度,n应该是现有元素个数。
avatar
P*B
2
看看有什么明天10x的
avatar
k*g
3
C++路过
avatar
s*x
4
Linkedlist 呗,very simple.
Remember how LRU cache is implemented? A hash table plus linked list.
avatar
z*g
5
C路过
But if I were to do it, I would make the iterator data structure contain the
bucket size, a bucket cursor and a reference to the underlying linked list
node. The worst case time complexity would be O(m + n) where m is the bucket
size.
avatar
M*a
7
我也这么想的,但是好像实现的有点overhead,相当于任何hashtable实际都是个
linked hashtable.

【在 s**x 的大作中提到】
: Linkedlist 呗,very simple.
: Remember how LRU cache is implemented? A hash table plus linked list.

avatar
M*a
8
这样的话貌似就不是O(n)的iterate了,假设这个hashtable初始的size为100,然后只
有2个元素,这样iterate的话是O(100)而不是O(2)

【在 w**z 的大作中提到】
: 一个一个bucket 走,每个bucket 都走一遍linkedlist
: http://grepcode.com/file/repository.grepcode.com/java/root/jdk/

avatar
w*z
9
HashMap 本来就不适合 iterate

【在 M*******a 的大作中提到】
: 这样的话貌似就不是O(n)的iterate了,假设这个hashtable初始的size为100,然后只
: 有2个元素,这样iterate的话是O(100)而不是O(2)

avatar
w*z
10
LS说了, O(m + n)

【在 M*******a 的大作中提到】
: 这样的话貌似就不是O(n)的iterate了,假设这个hashtable初始的size为100,然后只
: 有2个元素,这样iterate的话是O(100)而不是O(2)

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。