二叉树的概念和基本术语

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】

原文地址:https://www.cnblogs.com/GodSince/p/10909565.html

时间: 2024-10-14 20:25:44

二叉树的概念和基本术语的相关文章

Java数据结构系列之——树(1):二叉树基本概念及特点小结

度的概念:结点拥有的子树数称为结点的度(degree).度为0的结点称为叶结点(leaf)或者终端结点.度不为0的结点称为非终端结点或者分支结点.除根节点以外,分支结点也称为内部结点.树的度是树内部结点的度的最大值. 树的深度或者高度:结点的层次从根开始定义起,根为第一层,根的孩子为第二层.树中结点的最大层次称为树的深度或者高度. 树的表示法:(1)双亲表示法(2)孩子表示法(3)孩子兄弟表示法 二叉树:二叉树是n(n>=0)个结点的有限集合,该集合或者为空集(称为空二叉树),或者由一个根结点和

二叉树基本概念

1. 高度:树T所有节点深度的最大值,节点V对应子树高度为该节点的高度,根节点高度为整棵树的高度 2.深度:节点V到根节点R的唯一路径所经过的数目称为V的深度 3.huffman编码:构造出的带权平均深度最小的二叉树为huffman树(权值越大,深度越小) 4.二叉搜索树:任意节点R的左(右)子树中,所有节点均不大(小)于R; 5.满二叉树:在二叉树中,其所有分支节点都存在左右节点,并且所有叶子节点都在同一层 6.完全二叉树:对一棵具有n个结点的二叉树按层序编号,如果编号为i(1≤i≤n)的结点

树与二叉树的概念

树的条件:(笔记)1.有且仅有一个根节点: 2.其余节点分为m(m>=0)个互不相交的非空有限集合,T1,T2,....Tm其中每个集合 本身就是一个树,称为根的子树. 树的相关概念:1.树的节点:只树中一个数据元素 2.节点的度:一个节点包含子树的数目,称为该节点的度 3.树的叶子节点:度为0的节点,称为叶子节点或树叶,也叫终端节点. 4.分支节点:除了叶子节点外的所有节点,称为分支节点.通常又将除根节点之 外分支节点称为内部节点或中间节点. 5.孩子节点:若节点X有子树,则子树的根节点为X的

【数据结构学习】-二叉树的概念与遍历

链表.栈或队列都是线性结构,包含一个数据元素序列.而二叉树是一种层次结构.一颗二叉树要么为空,要么由一个数据元素(称为跟)和两颗独立的二叉树(称为左子树和右子树).某个节点的左(右)子树的根节点称为该节点的左(右)孩子节点.两颗子树均为空的节点称为叶子节点. 搜索二叉树:其左子树任意节点的值都小于此节点的值,其右子树中任意节点的值都大于此节点的值. 完全二叉树:如果一颗二叉树除最后一层外都保证是满的,且若最后一层不满,所有节点均位于最左边,则称为完全二叉树. 平衡二叉树:它是一颗空树,或它的左右

照明概念及相关术语

主要概念 1.1 光通量 Luminous Flux 单位时间内辐射能量的大小.单位:流明 lm.公式如下: 这个公式较直观,在波长380nm~780nm内做光视效率(η/nm)乘上光谱辐射通量(W/nm)的积分(也就是视觉通量的积分),最后再乘上最大光谱效能(把W约掉),就得到了光通量lm. 最大光谱效能=683lm/W(波长=555nm) 1.2 发光强度 Luminous Intensity 单位:坎德拉 cd. * cd:candle-power 1.3 照度 Illuminance 用

十七 、二叉树的概念

原理图: 源代码: Node: /* * 二叉树结点*/public class Node { public int data; //数据项 public Node leftChild; //左子结点 public Node rightChild; //右子结点 public Node(int data) { // TODO Auto-generated constructor stub this.data = data;} } Tree: public class Tree { private

1 数据结构(13)_二叉树的概念及常用操作实现

1. 树到二叉树的转换 思考:通用树结构的实现太过复杂(树中每个结点都可以有任意多的孩子,具有多种形态),工程中很少会用到如此复杂的树是否可以简化呢?思路:减少树结点中孩子的数量.但这样树是否还能通用呢? 1.1.树的两种表示法 双亲孩子表示法:孩子兄弟表示法:孩子兄弟表示法的特点:1.能够表示任意的树形结构2.每个结点包含一个数据成员和两个指针成员3.孩子结点指针和兄弟结点指针构成"树杈" 2.2.二叉树 二叉树是由n(n>=0)个节点组成的有限集合,该集合或者为空,或者是由一

1155.Heap Paths-PAT甲级真题(DFS+堆和二叉树的概念)

In computer science, a heap is a specialized tree-based data structure that satisfies the heap property: if P is a parent node of C, then the key (the value) of P is either greater than or equal to (in a max heap) or less than or equal to (in a min h

数和二叉树(第七章)

树的基本概念 树的定义 数是有n个节点组成的有限集合(记为T).其中 如果n=0,它是一颗空树,这是树的特例 如果n>0,这n个节点中存在(且仅存在)一个节点作为树的根节点,简称为根:其余节点可分为m(m>=0)个互不交集的有限集T1,T2,Tn,其中每个子集本身又是一颗符合本定义的树,称为根的子树 树的定义是递归的 树是一种非线性结构. 树的逻辑表示方法 树形表示法 文氏图表示方法 凹入表示法 括号表示法 树的基本术语 节点的度与树的度:树中某个节点的子树的个数称为该节点的度.树中各节点的度