gpt4 book ai didi

algorithm - 与 STL 实现相比,自平衡 BST 的自定义实现可以做什么?

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:09:30 24 4
gpt4 key购买 nike

例如,我知道我可以轻松地对每个节点进行排名或获得第 k 个顺序统计信息,只需为每个节点增加一个大小值即可。与 C++ STL 集这样的语言实现相比,您还有哪些其他好处?

最佳答案

编写自己的 BST 有很多优点。

正如您在回答中提到的,您可以扩充 BST 以在旋转下保留的每个节点中存储额外信息。这可用于构建区间树、链接/切割树等,否则无法使用黑盒标准容器完成。

此外,编写自己的树可以改变它的平衡方式。例如,如果您知道与查找相关的插入和删除操作很少,您可以使用 AVL 树而不是红/黑树,因为这些树的高度较小。如果您知道您将拥有一个非统一的访问模式并且只有一个线程,那么您可以使用 splay 树。或者,如果您知道整体运行时间是最重要的并且想要进行多线程查找,您可以尝试编写一个替罪羊树。

希望这对您有所帮助!

关于algorithm - 与 STL 实现相比,自平衡 BST 的自定义实现可以做什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14298378/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com