我刚看了Sean Parent的CppCon 2015谈话“Better Code: Data Structures”,他在那里提出了“鞋带和豆子” 数据结构而不是树。
你是如何找到它的?你觉得这比树好吗?它的实力是什么价格?
答案 0 :(得分:2)
鞋带易于生产,因为它对应于相应树的左递归下降。所以从树开始,你只需要下降一次并动态构建花边。在那之后,你不再需要递归了,因为花边只是左边递归下降的元素链接列表。
比树更好?这取决于你想做什么。
答案 1 :(得分:1)
总是取决于你测量的东西 这里有一些质量指标的可能性:
您还可以查看最坏情况的行为或平均案例行为。
所以'更好'取决于你将在哪种环境条件/限制下使用它。
至少它在遍历它时具有比通常的树结构更好的缓存未命中(和缓存预取)特性。那是因为元素是在内存中遍历的顺序。