【发布时间】:2017-02-04 08:02:06
【问题描述】:
根据 Bjarne Stroustrup said 的说法,由于几个原因,我们必须避免使用链表。无论链表有多糟糕,例如缓存未命中和预取问题,在算法或情况下,链表是唯一的选择或至少更容易适应真实的情况?
【问题讨论】:
-
以 Java 为目标的线程,但其中很多都适用于一般情况:stackoverflow.com/questions/322715/…
-
@Thilo 线程没有给出链表优于其他数据结构的任何可能算法。
-
这是另一个相关主题:stackoverflow.com/questions/7496251/…
-
我相信在选择数据结构时总会有几个选项,而不仅仅是一个。它主要是关于了解每个数据结构的特定性能特征,然后选择适合您情况的选项。话虽如此,我自己可能已经有超过 15 年没有使用(双重)链表了。我几乎在每一种情况下都找到了更好的数据结构。
-
我一直使用doubly connected edge lists 进行平面图算法。不确定这是否算作一个链表,并且可能有替代数据结构来表示它,但它仍然是我的首选。
标签: algorithm linked-list