二叉树的概念和基本术语

Posted godsince

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了二叉树的概念和基本术语相关的知识,希望对你有一定的参考价值。

1.种类及概念:

  二叉树是每个结点最多有两个子树的树结构。

  完全二叉树:除最后一层外,若其余层都是满的,并且最后一层或者是满的,或者是在右边缺少连续若干节点。

  满二叉树:每一层上的节点数都是最大节点数,深度为k,且有2^k-1个节点。

  平衡二叉树:又被称为AVL树(区别于AVL算法),它是一棵二叉排序树,且具有以下性质:它是一棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。

  森林:不考虑连通性,允许图中有多个连通分量的结构。

    技术图片

    (1)空二叉树:图(a)

    (2)只有一个根结点的二叉树:图(b)

    (3)只有左子树:图(c)

    (4)只有右子树:图(d)

    (5)完全二叉树:图(e)

 

2.定义及性质:

  二叉树常被用于实现二叉查找树和二叉堆。

  二叉树是一个连通的无环图,并且每一个顶点的度不大于3。有根二叉树还要满足根结点的度不大于2。有了根结点之后,每个顶点定义了唯一的父结点,和最多2个子结点。

  二叉树不是树的一种特殊情形,树和二叉树有两个主要差别:

    1. 树中结点的最大度数没有限制,而二叉树结点的最大度数为2

    2. 树的结点无左、右之分,而二叉树的结点有左、右之分。

 

3.其他术语:

子树:通常被称作“左子树”(left subtree)和“右子树”(right subtree);

根结点(root):也叫树根,所有非空的二叉树中,都有且仅有一个根结点。它是同一棵树中除本身外所有结点的祖先,没有父结点。

树的结点(node):包含一个数据元素及若干指向子树的分支;

孩子结点(child node):结点的子树的根称为该结点的孩子;

双亲结点:B 结点是A 结点的孩子,则A结点是B 结点的双亲;

兄弟结点:同一双亲的孩子结点;

堂兄结点:位于同一层的,并且父节点之间是兄弟结点的结点

祖先结点: 从根到该结点的所经分支上的所有结点;

子孙结点:以某结点为根的子树中任一结点都称为该结点的子孙;

结点层:根结点的层定义为1;根的孩子为第二层结点,依此类推;也叫结点的层次或结点的深度;

树的深度(depth):树中最大的结点层,也叫结点的最大层次;

结点的高度(height of node):高度与深度不同,高度的描述是自下向顶的;

路径(path)和路径长度:从结点n1到nk的路径为一个结点序列n1,n2,...,nk,ni是ni+1的父结点。路径所包含边的个数为路径的长度;

结点的度(Degree):拥有子结点(子树)的数量;

树的度: 选取所有结点中最大的度;

叶子结点:也叫终端结点,是度为 0 的结点。位于树最深层,并且树只要非空,就一定存在叶子结点

分枝结点:度不为0的结点。除了叶子结点之外的结点都为分支结点,而且根结点也是分支结点

有序树:子树有序的树,如:家族树;

无序树:不考虑子树的顺序。

【注:参考:https://blog.csdn.net/weixin_41133154/article/details/80027285

  https://baike.baidu.com/item/%E4%BA%8C%E5%8F%89%E6%A0%91/1602879?fr=aladdin】

 

 

以上是关于二叉树的概念和基本术语的主要内容,如果未能解决你的问题,请参考以下文章

树二叉树存储结构二叉数遍历& 数据结构基本概念和术语

数据结构 二叉树的基本概念

二叉树的一些基本概念和求节点问题

二叉树

二叉树1. 二叉树的基本概念

算法漫游指北(第十三篇):二叉树的基本概念满二叉树完全二叉树二叉树性质二叉搜索树二叉树定义二叉树的广度优先遍历