二叉树、平衡二叉树、红黑树

1.二叉树

二叉树是树的一个重要类型,也是众多数据结构的基石。简单来说,每个节点最多只能有两个节点的树叫做二叉树。

 

 

2.二叉查找树

一种特殊的二叉树,特点就是左边的树节点比父节点要小,右边的比父节点要大。

 

极端条件下,平衡二叉树可能退化成链表。举个例子,二叉树的大部分节点都比父节点要小,如下:

 

 3.平衡二叉树

又称为AVL树,就是为了解决二叉树退化成链表而设计的。

其特点是:

  • 拥有二叉查找树的全部特性
  • 每个节点的左子树和右子树高度差最多为1

通过左右旋保证树不会退化成链表。

 

4.红黑树

简单来说,红黑树就是一种不追求绝对平衡,用于频繁插入、删除节点情景的平衡二叉树。

其特点是:

  • 具有二叉树的所有特性。
  • 每个节点只能是红色或者黑色的。
  • 根节点只能是黑色,且不存放数据。
  • 任何相邻节点不能同时为红色。
  • 红色节点的子节点只能是黑色.
  • 从任一节点到其每个叶子结点的所有路径包含数目相同的黑色节点。
posted @ 2021-12-05 17:19  sellingpear  阅读(137)  评论(0)    收藏  举报