不同类型的二叉树与彩色插图,识别那些令人困惑的二叉树类型的有用指南

Types of Binary Tree || Designed by Anand K Parmar
二叉树是一个树数据结构,其中每个节点最多具有2个子节点。 二叉树有几种类型,它们的名称让人难以记住。
我写这篇文章是为了了解5种常用的二叉树类型。 我不只是编写定义,还为任何特定类型的有效和无效树结构添加了漂亮的插图。
1.全二叉树
完整二叉树是一个二叉树,其中每个节点都有0或2个子节点。

Valid and Invalid Structure of Full Binary Tree || Designed by Anand K Parmar
有趣的事实:对于完整的二叉树,以下等式始终为真。
叶子节点数=内部节点数+ 1
2.完全的二叉树
完全的二叉树具有除最后一级以外的所有等级的节点,并且在最后一级中,所有节点都尽可能位于左侧。

Valid and Invalid Structure of Complete Binary Tree || Designed by Anand K Parmar
有趣的事实:二叉堆是完全二叉树的重要用例。
3.完美的二叉树
完美二叉树是一种二叉树,其中所有内部节点都有2个子节点,并且所有叶节点处于相同的深度或相同的级别。

Valid and Invalid Structure of Perfect Binary Tree || Designed by Anand K Parmar
有趣的事实:高度为H的完美二叉树中的节点总数为2 ^ H_1。
4.平衡二叉树
平衡二叉树是一种二叉树,其中每个节点的左子树和右子树的高度最多相差1。

Valid and Invalid Structure of Balanced Binary Tree|| Designed by Anand K Parmar
有趣的事实:AVL树和红黑树是众所周知的数据结构,用于生成/维护平衡二叉搜索树。 搜索,插入和删除操作的时间为O(log n)。
5.退化(或病理)二叉树
简并二叉树是一个二叉树,其中每个父节点只有一个子节点。

Valid and Invalid Structure of Degenerate Binary Tree|| Designed by Anand K Parmar
有趣的事实:简并二叉树的高度等于该树中节点的总数。
(本文翻译自Anand K Parmar的文章《Different Types of Binary Tree with colourful illustrations》,参考:https://towardsdatascience.com/5-types-of-binary-tree-with-cool-illustrations-9b335c430254)