Tarjan的自上而下的红黑树效率

时间:2016-05-27 03:16:51

标签: algorithm red-black-tree bottom-up topdown

我想知道Tarjan的Top-Down红黑树算法如何与其他红黑树算法(例如Robert Sedgewick的算法)竞争。有没有人比较过各种自上而下和自下而上算法的结果? 请告诉我,因为它有助于决定我需要哪种算法作为基本算法,因为我计划稍后将其并发。 (我想比较自上而下与自下而上之间的比较,以及这些研究人员在各种算法之间的比较!)

1 个答案:

答案 0 :(得分:0)

据我所知,这个领域的工作很少。在不同的平衡BST(AVL与RB与splay)之间进行了一些性能测试,但据我所知,那些针对红黑树的变种运行的是轶事:RB树的一个变体与#34的基准测试;标准"在一个特定案例上实施。

因此,如果您决定实施红黑树,则应根据用例选择一些变体,语言并对其进行基准测试。你可以在网上找到一些不同种类的红黑树的开源实现,这里有一些我所知道的主要口味:

  • Left-Leaning RB Tree - Java - GPLv3 - (Sedgewick / Wayne)
  • 递归BU插入/删除,迭代TD插入/删除 - C - MIT-like - (eternallyconfuzzled
  • 递归BU插入,递归TD删除 - Java - MIT - (me

这些实现是节省空间的,因为它们都有不使用父指针的共同点。但是,您应该正确地对它们进行基准测试,并在需要时进行优化。