【发布时间】:2012-03-11 11:37:08
【问题描述】:
我刚刚意识到我经常使用的所有数据结构都非常古老而且非常简单。链表、哈希表、树,甚至更复杂的变体,如 VLists 或 RBTrees 都是相当古老的发明。
其中大多数是为串行、单 CPU 世界而设计的,需要适应在并行环境中工作。
我们有哪些更新、更好的数据结构?为什么它们没有被广泛使用?
如果您必须实现并喜欢简单的简单旧链表,我理解使用简单的旧链表,但有大量的 STL 和大量第三方库,如 Guava 或 Boost,为什么我还在散列周围加锁?
难道我们没有潜在的标准、经过严格验证的现代数据结构,可以真正替换值得信赖的老前辈吗?
【问题讨论】:
-
因为旧的没毛病?如果它没有坏,就不要修理它吗?
-
Z80 也没有错误。幸运的是,它被“修复”了。
-
您对新数据结构的期望是什么?例如,同步是一个实现细节,它本身不是数据结构的一部分。此外,纯函数式数据结构不需要锁,因为它们不会发生变异。
标签: data-structures