美文网首页
[转]二叉树

[转]二叉树

作者: Jfeng666 | 来源:发表于2018-09-06 00:21 被阅读0次

来自百度

定义

二叉树是一个连通的无环图,并且每一个顶点的度不大于3。有根二叉树还要满足根结点的度不大于2。有了根结点之后,每个顶点定义了唯一的父结点,和最多2个子结点。然而,没有足够的信息来区分左结点和右结点。如果不考虑连通性,允许图中有多个连通分量,这样的结构叫做森林。


基本概念

二叉树是递归定义的,其结点有左右子树之分,逻辑上二叉树有五种基本形态:
(1)空二叉树——如图(a);
(2)只有一个根结点的二叉树——如图(b);
(3)只有左子树——如图(c);
(4)只有右子树——如图(d);
(5)完全二叉树——如图(e)。


注意:尽管二叉树与树有许多相似之处,但二叉树不是树的特殊情形


类型

(1)完全二叉树——若设二叉树的高度为h,除第 h 层外,其它各层 (1~h-1) 的结点数都达到最大个数,第h层有叶子结点,并且叶子结点都是从左到右依次排布,这就是完全二叉树。
(2)满二叉树——除了叶结点外每一个结点都有左右子叶且叶子结点都处在最底层的二叉树。
(3)平衡二叉树——平衡二叉树又被称为AVL树(区别于AVL算法),它是一棵二叉排序树,且具有以下性质:它是一棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。


辨析

二叉树不是树的一种特殊情形,尽管其与树有许多相似之处,但树和二叉树有两个主要差别:

  1. 树中结点的最大度数没有限制,而二叉树结点的最大度数为2;
  2. 树的结点无左、右之分,而二叉树的结点有左、右之分。

术语:

树的结点(node):包含一个数据元素及若干指向子树的分支;
孩子结点(child node):结点的子树的根称为该结点的孩子;
双亲结点:B 结点是A 结点的孩子,则A结点是B 结点的双亲;
兄弟结点:同一双亲的孩子结点; 堂兄结点:同一层上结点;
祖先结点: 从根到该结点的所经分支上的所有结点子孙结点:以某结点为根的子树中任一结点都称为该结点的子孙
结点层:根结点的层定义为1;根的孩子为第二层结点,依此类推;
树的深度:树中最大的结点层
结点的度:结点子树的个数
树的度: 树中最大的结点度。
叶子结点:也叫终端结点,是度为 0 的结点;
分枝结点:度不为0的结点;
有序树:子树有序的树,如:家族树;
无序树:不考虑子树的顺序;


二叉树性质

相关文章

  • 2018-03-28 二叉树的转换

    二叉树,树,森林 二叉树转树 和 二叉树转森林的区别在于,最终根节点有没有右子树。如果有右子树,则这颗二叉树转换之...

  • 二叉树相关特性与算法

    本文转自 http://www.cnblogs.com/manji/p/4903990.html二叉树-****你...

  • 普通树与二叉树的相互转化及哈夫曼树的了解

    普通树与二叉树的相互转化及哈夫曼树的了解 二叉树与普通树的转化 二叉树的种种特性使得它更便于处理,如果能将普通树转...

  • [转]二叉树

    来自百度 定义 二叉树是一个连通的无环图,并且每一个顶点的度不大于3。有根二叉树还要满足根结点的度不大于2。有了根...

  • 【剑指Offer】061——序列化二叉树 (树)

    题目描述 请实现两个函数,分别用来序列化和反序列化二叉树 解题思路 对于序列化:使用前序遍历,递归的将二叉树的值转...

  • 二叉树转链表

    给定一个二叉树,将该二叉树 就地(in-place)转换为单链表。单链表中节点顺序 为二叉树前序遍历顺序。(不额外...

  • 二叉树转链表

    题目如截图所示: 如图可知,每执行一步,都要将当前节点的左子树插入到当前节点和当前节点的右节点之间,如果不存在左子...

  • 数据结构与算法-二叉树02

    二叉树的定义 二叉树的特点 二叉树的五中基本形态 其他二叉树 斜二叉树 满二叉树 完全二叉树图片.png满二叉树一...

  • 二叉树,红黑树,B树,B+树对比

    二叉树,红黑树,B树,B+树对比 转自_qq_31443653的博客-CSDN博客 https://blog.c...

  • 二叉树

    二叉树 高度 深度真二叉树 满二叉树 完全二叉树 二叉树遍历前序 中序 后序层序遍历 翻转二叉树 递归法...

网友评论

      本文标题:[转]二叉树

      本文链接:https://www.haomeiwen.com/subject/raqtgftx.html