可能重复:
Red-Black Trees
我开始在红黑树上观看lecture,并在15分钟后放弃。
当然,在进入理论之前,我没有看过前10个讲座,但为什么没有现实世界的例子呢?
有人可以举例说明为什么红黑树是必不可少的数据结构吗?
答案 0 :(得分:2)
红黑树是自平衡的,因此可以在O(log n)时间内插入,删除和搜索。对于插入和删除操作,其他类型的平衡树(例如AVL树)通常较慢。
此外,红黑树的代码往往更简单。
它们适用于创建地图或关联数组以及专用数据存储。我在高速电信应用中使用了一个来实现成本最低的路由系统。
答案 1 :(得分:0)
注意:我没有看过这个讲座。
当添加或删除项目时,红黑树是自平衡的二叉搜索树。此功能可确保此树中的每个搜索都具有O(logn)
复杂度。
如果构建一个树而不平衡它,则可以创建一个实际上是O(n)
复杂度的链表的退化树。
答案 2 :(得分:0)
答案 3 :(得分:0)
Wikipedia提供了一个解释和一个重要的例子。
红黑树为插入时间,删除时间和搜索时间提供最坏情况保证。这对于实时应用程序非常有用。
真实世界的例子是Linux内核中的Completely Fair Scheduler。