【发布时间】:2012-10-03 23:35:32
【问题描述】:
可能重复:
How would you pick a uniform random element in linked list with unknown length?
假设我们想从链表中随机选择一个元素, 但我们不知道链表的长度。
设计一种算法,以尽可能少的运行时间随机选择元素。
【问题讨论】:
-
这是你反复做的事情,以便它可以从以前的运行中学习吗?
-
将每个节点的地址存储在某个数组或随机可访问的容器中并使用它。
-
只选择一个元素。
-
见Given an unknown length list, return a random item in it ...或How would you pick a uniform random element in linked list with unknown length?或Get a random element in single direction linked list...或Efficiently selecting a set of random elements from a linked list或Fastest way to pick a random element from a list that...
标签: algorithm