数据结构中对树(Tree)的理解

什么是树?

在这里插入图片描述

是由结点或顶点和边组成的(可能是非线性的)且不存在着任何环的一种数据结构。没有结点的树称为空(null或empty)树。

一些有关于树的专业术语:

根(root): 树的顶端节点。

孩子(Child): 当远离根的时候,直接与另一个结点相连的结点叫做孩子。

双亲(parent):相应的,另外一个结点就是孩子的双亲。

兄弟(Siblings):具有同一个双亲的孩子结点之间就是兄弟关系。

祖先(Ancestor):一个结点的祖先就是从根到该结点所经分支上的所有结点。

子孙(Descendant):反之,以某结点为根的任意子树中的任意结点都成为该点的子孙。

叶子(leaf):没有孩子的结点称为叶子结点。

分支(branch):至少有一个孩子的结点称为分支。

度(degree):结点所拥有的子树的个数称为节点的度。

边(edge):一个结点与另一个结点的连接被称为边。

路径(path):连接结点和其后代结点的序列。

层次(level):结点的层次从根开始定义,根为第0层,根的孩子为第1层,以此类推。

结点的高度(height of node):指的是该结点和某个叶子之间存在的最长路径的边的个数。

树的高度(height of tree):指其根结点的高度。

结点的深度(depth of node):指的是从树的根节点到目标结点的边的个数。

森林(forest):多个不相互相交的树的结合。

二叉树

什么是二叉树???
每个结点最多拥有两棵子树,且两棵子树有左右之分,顺次不可颠倒,这样的树称为二叉树。

二叉树有哪些性质???

a. 第i层的结点最多2^i
b. 高度为k的二叉树最多有2^(k+1)-1个结点 (空树的高度为-1)
c. 对于任意一颗二叉树 其叶子结点树定为m,所有度为2的结点定位n 那么 m-n = 1

二叉树的分类:

1.完美二叉树(perfect binary tree):

什么是完美二叉树??

一个深度为k(>=-1)且有2(k+1)-1个结点的二叉树称为完美二叉树(满二叉树)。
在这里插入图片描述

2.完全二叉树(complete binary tree)

什么是完全二叉树???

换句话说,完全二叉树就是从根节点到倒数第二层都满足完美二叉树,最后一层可以不完全填充,但是叶子结点都应该靠左对齐。

在这里插入图片描述
3.完满二叉树(full binary tree)

什么是完满二叉树???

换句话说,所有非叶子结点的度都是2。(只要有孩子,就必须是两个孩子,不然就没有孩子)

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值