就像multiset是STL中的二叉搜索树实现一样,是否有任何可用的RB树或AVL树实现?C++标准库中是否有任何红黑树或avl树实现?
-1
A
回答
0
通常情况下,你不会实现multiset
作为二叉树。使用一个会破坏标准的性能保证,因为树可能看起来像一个没有O(logN)插入和删除的链表。
典型地,std::set
/std::multiset
/std::map
/std::multimap
被实现为RB树,因为它具有这些性能保证。但这并不是必需的。该标准仅保证容器在不同操作中的性能,并且如何实现该操作取决于实施。
如果你想保证你使用的是RB树,你需要检查你的实现,推出你自己的,或者得到一个保证它是RB树的第三方库。
+0
非常感谢。 :) – ash
+2
红黑树是一棵二叉树。平衡二叉树。 –
相关问题
- 1. C++ AVL树实现
- 2. AVL树,C,旋转实现
- 3. AVL树的实现
- 4. 在C#实现红 - 黑树的
- 5. 红黑树C#的这个实现是否正确?
- 6. 如何插入和删除红黑树比AVL树更快?
- 7. 实现AVL树的toString()的
- 8. 红黑树和AVL树之间的区别
- 9. 为什么avl树比红黑树搜索更快?
- 10. C中的红黑树
- 11. 红黑树书的实现(SIGSEGV发生)
- 12. 是否有vEB树的C++实现?
- 13. 红黑树,
- 14. WAVL(弱AVL)和红黑树之间有什么区别?
- 15. SortedDictionary是红黑树吗?
- 16. AVL树
- 17. 红黑树 - 预订中的印花树
- 18. Java中的红黑树规则实施
- 19. 当红黑树是有用的
- 20. Java中是否有参数树实现?
- 21. avl树帮助字典实现
- 22. AVL树实现的新手段
- 23. 通过继承实现AVL树
- 24. 连接红黑树
- 25. 红黑树平衡?
- 26. 红黑树问题
- 27. 插入红黑树
- 28. 红黑树 - 建设
- 29. 红黑树 - 删除
- 30. 红黑树如何工作?
std :: map是一棵红/黑树。标准并没有说它必须是一个,但是性能保证使得不太可能使用别的东西。 –
很确定大多数标准库实现对所有四个(多)set | map使用RB树。该标准并未指定实施。 – Zulan