红黑树非常适合创建平衡的树。二进制搜索树的主要问题是,您可以非常轻松地使其不平衡。想象您的第一个数字是15。然后所有的数字都逐渐小于15。您将有一棵树,左侧非常沉重,而右侧没有任何东西。
红黑树通过在插入或删除时强制树保持平衡来解决此问题。它通过在祖先节点和子节点之间进行一系列旋转来实现此目的。该算法实际上很简单,尽管它有点长。我建议拿起CLRS(Cormen,Lieserson,Rivest和Stein)教科书,“算法简介”并阅读RB树。
实现也不是那么短,所以可能最好不要在这里包含它。但是,树 广泛
用于需要访问大量数据的高性能应用程序。它们提供了一种查找节点的非常有效的方式,而插入/删除的开销却相对较小。同样,我建议您查看CLRS来阅读它们的用法。
虽然BST可能未明确使用-
但几乎每个现代RDBMS都使用树作为一个示例。同样,您的文件系统几乎可以肯定地表示为某种树形结构,并且文件也以这种方式建立索引。树木为Google提供动力。树木几乎为互联网上的每个网站提供动力。



