c******n 发帖数: 4965 | 1 treeset/ treemap 这种数据结构平时很少用, 这个题显示它的作用 |
c******n 发帖数: 4965 | 2 常见的那个LRU cache 用 treemap 做要比自己写双链表简单多了 |
m****u 发帖数: 3915 | |
o*******y 发帖数: 362 | 4 Linkedlist就是双链表啊
[在 creation (努力自由泳50m/45sec !) 的大作中提到:]
:常见的那个LRU cache 用 treemap 做要比自己写双链表简单多了 |
d*********0 发帖数: 24 | 5 但是用bucket可以做到O(n),我这道题最后还是把treeset抛弃了。 |
c******n 发帖数: 4965 | 6 你那道题是用 linkedlist 做的么? 我觉得没法用。
基本需要一个 map 记录要清除的元素, 然后指向以 access time 排序的数据结构里
相应的 node. 但是 linked list remove 你只能指向一个 index, 但是在不断add/
remove 后, Map里面记录的 index 就没有用了。 所以 map 只能记录list 里面的指
针。 但是如果你 call linkedlist.remove(object) 我认为它是 linear search 的
, 这样你就得每一个 update 花 o(n) 时间。 自己的 doublelist implementation
你可以通过 map 里面的指针, 直接找到 链表里面的数据节点, 把节点删掉, 用 o
(1) 时间
【在 o*******y 的大作中提到】 : Linkedlist就是双链表啊 : [在 creation (努力自由泳50m/45sec !) 的大作中提到:] : :常见的那个LRU cache 用 treemap 做要比自己写双链表简单多了
|
c******n 发帖数: 4965 | 7 yeah... just checked linkedlist SRC code. it is enumeratimg through the
entire list
implementation
o
【在 c******n 的大作中提到】 : 你那道题是用 linkedlist 做的么? 我觉得没法用。 : 基本需要一个 map 记录要清除的元素, 然后指向以 access time 排序的数据结构里 : 相应的 node. 但是 linked list remove 你只能指向一个 index, 但是在不断add/ : remove 后, Map里面记录的 index 就没有用了。 所以 map 只能记录list 里面的指 : 针。 但是如果你 call linkedlist.remove(object) 我认为它是 linear search 的 : , 这样你就得每一个 update 花 o(n) 时间。 自己的 doublelist implementation : 你可以通过 map 里面的指针, 直接找到 链表里面的数据节点, 把节点删掉, 用 o : (1) 时间
|
w**z 发帖数: 8232 | 8 码了十几年,treemap 才用到过一次。Priory queue 也只用到过一次。
【在 c******n 的大作中提到】 : treeset/ treemap 这种数据结构平时很少用, 这个题显示它的作用
|
b**********5 发帖数: 7881 | 9 只能说明你吗的东西, 太落后。 我也是从来没吗过, 然后last job, 我吗的是
cutting edge technology, treemap, priority queue经常用。 弄个consistent
hash就用了treemap
【在 w**z 的大作中提到】 : 码了十几年,treemap 才用到过一次。Priory queue 也只用到过一次。
|
w**z 发帖数: 8232 | 10 你工作找到了?
【在 b**********5 的大作中提到】 : 只能说明你吗的东西, 太落后。 我也是从来没吗过, 然后last job, 我吗的是 : cutting edge technology, treemap, priority queue经常用。 弄个consistent : hash就用了treemap
|
b**********5 发帖数: 7881 | 11 我是说我的last job。 现在找不到做题的动力。。。
【在 w**z 的大作中提到】 : 你工作找到了?
|