数据结构学习笔记---树(一)

1.树

1.1树的定义和常用术语

1)什么是树?

树是由n(n≥0)个结点所构成的有限集合,当n=0时,称为空树;当n>0时,n个结点满足以下条件:

⑴ 有且仅有一个称为根的结点。

⑵ 其余结点可分为m(m≥0)个互不相交的有限集合,且每一个集合又构成一棵树,这棵树称为是根结点的子树。

2)树的特点?

  • 每个结点都只有有限个子结点或无子结点;
  • 没有父结点的结点称为根结点;
  • 每一个非根结点有且只有一个父结点;
  • 除了根结点外,每个子结点可以分为多个不相交的子树
  • 树里面没有环路(cycle)

3)常用术语

分支: 根和子树根之间的连线
结点:数据元素
节点的度:结点所拥有子树的数目
树的度:书中所有结点的度的最大值
叶子结点:度为零的结点
分支结点:度大于领的结点
结点的层次:规定根结点的层次为0,则其它结点的层次是其双亲结点的层次数加1。
树的深度:树中所有结点层次数的最大值加1。
结点的高度:结点到叶子结点的最长路径(边数),所有叶子结点的高度为 0。
结点的层次:规定根的层次为 0,其余由父结点层次+1
结点的深度:层次+1
树的高度:根结点的高度
在这里插入图片描述

  • List item

2.二叉树

2.1二叉树的定义

二叉树,顾名思义,每个结点最多有两个“叉”,也就是两个子结点,分别是左子结点和右子结点。不过,二叉树并不要求每个结点都有两个子结点,有的结点只有
左子结点,有的结点只有右子结点。当然二叉树也可以为空树
如下图所示均是二叉树:
在这里插入图片描述
在这里插入图片描述

1).满二叉树的定义

叶子结点全都在最底层,除了叶子结点之外,每个结点都有左右两个子结点,
这种二叉树就叫作满二叉树。
在这里插入图片描述

2).完全二叉树的定义

叶子结点都在最底下两层,最后一层的叶子结点都靠左排列,并且除了最后
一层,其他层的结点个数都要达到最大,这种二叉树叫作完全二叉树。
在这里插入图片描述

3).单分支树的定义

左支树:所有结点都没有右孩子的二叉树。
右支树:所有结点都没有左孩子的二叉树。
在这里插入图片描述
在这里插入图片描述

2.2二叉树的性质

性质1:在二叉树的第 i 层上至多有2i 个结点。(i≥0)
性质2:深度为 h (h≥1)的二叉树上至多含 2h-1 个结点。
性质3:对于任何一棵二叉树,若其叶结点的个数为n0 ,度为2的结点个数为n2,则有n0 = n2+1 。
性质5: 若对含 n 个结点的完全二叉树从上到下且从左至右进行 0至 n-1 的编号,则对完全二叉树中任意一个编号为 i 的结点,有:

(1) 若 i=0,则该结点是二叉树的根,无双亲,否则,编号为 (i-1)/2
的结点为其双亲结点;
(2) 若 2i+1≥n,则该结点无左孩子,否则,编号为 2i+1 的结点为其左孩子结点;
(3) 若 2i+2≥n,则该结点无右孩子结点,否则,编号为2i+2 的结点为其右孩子结点。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值