数据结构之红黑树

在此之前来看一下一个特别的二叉树

 

 从程序的角度来看,这棵二叉树不平衡,呈现一边倒的情况;查询次数或者时间复杂度会随一边无线伸长;

有一个术语叫做顶端优势,和去除顶端优势;去除后会使树更加发散,健壮;

而红黑树就是以此而来的解决方案;

红黑树

一棵自平衡的二叉树,树上的节点都遵循以下的原则:

  1. 每个节点都有红色或黑色
  2. 树的根始终是黑色的 (黑土地孕育黑树根, )
  3. 没有两个相邻的红色节点(红色节点不能有红色父节点或红色子节点,并没有说不能出现连续的黑色节点)
  4. 从节点(包括根)到其任何后代NULL节点(叶子结点下方挂的两个空节点,并且认为他们是黑色的)的每条路径都具有相同数量的黑色节点

详细介绍

自己探索

posted @ 2020-10-16 18:26  小白不爱  阅读(111)  评论(0编辑  收藏  举报