树与二叉树

目录

树的概念

二叉树的概念

基本概念

性质

特殊情况

满二叉树

完全二叉树

二叉树遍历

先序遍历

中序遍历

后序遍历


树的概念

1.节点的度:一个节点含有的子树的个数称为该节点的度
2.树的度:一棵树中,最大的节点的度称为树的度
3.叶节点或终端节点:度为0的节点
4.父亲节点或父节点:若一个节点含有子节点,则这个节点 称为其子节点的父节点
5.孩子节点或子节点:一个节点含有的子树的根节点称为该节点的子节点
6.兄弟节点:具有相同父节点的节点互称为兄弟节点
7.节点的层次:从根开始定义起,根为第一层, 根的子节点为第二层,以此类推
8.树的高度或深度:树中节点的最大层次
9.(九)堂兄弟节点:父节点在同一层的节点互为堂兄弟节点
10.节点的祖先:从根到该节点所经分支上的所有节点
11.子孙:以某节点为根的子树中任一节点都称为该节点的子孙
12.森林:由m(m>=0)棵互不相交的树的集合称为森林


树的种类
1.无序树:树中任意节点的子节点之间没有顺序关系,这种树称为无序树,也称为自由树
2.有序树:树中任意节点的子节点之间有顺序关系,这种树称为有序树

二叉树的概念

基本概念

二叉树是最基本的树形结构。自上而下按层次不断分支,左分支被称作左子树,右分支被称作右子树。两个拥有共同父节点的节点被称为兄弟节点。如一个节点没有下层子节点,则称之为叶子节点。

一棵二叉树是节点的一个有限集合,该集合或者为空,或者由一个根节点加上两棵左子树和右子树组成。特殊的,当n = 0 时称为空树。

1. 每个结点最多有两颗子树,所以二叉树中不存在度大于2的结点。
2. 左子树和右子树是有顺序的,次序不能任意颠倒。
3. 即使树中某结点只有一棵子树,也要区分它是左子树还是右子树。

结点是数据结构中的基础,是构成复杂数据结构的基本组成单位。二叉树基本形式如下:

性质

1. 在二叉树的第i层上最多有2i-1 个节点 。(i>=1)
2. 二叉树中如果深度为k,那么最多有2k-1个节点。(k>=1)
3.  n0=n2+1 n0表示度数为0的节点数,n2表示度数为2的节点数。
4. 在完全二叉树中,具有n个节点的完全二叉树的深度为[log2n]+1,其中[log2n]是向下取整。
5. 若对含 n 个结点的完全二叉树从上到下且从左至右进行 1 至 n 的编号,则对完全二叉树中任意一个编号为 i 的结点有如下特性:

1. 若 i=1,则该结点是二叉树的根,无双亲, 否则,编号为 [i/2] 的结点为其双亲结点;
2. 若 2i>n,则该结点无左孩子, 否则,编号为 2i 的结点为其左孩子结点;
3. 若 2i+1>n,则该结点无右孩子结点, 否则,编号为2i+1 的结点为其右孩子结点。

特殊情况

满二叉树

满二叉树:在一棵二叉树中。如果所有分支结点都存在左子树和右子树,并且所有叶子都在同一层上,这样的二叉树称为满二叉树。


满二叉树的性质
1. 叶子只能出现在最下一层。出现在其它层就不可能达成平衡。
2. 非叶子结点的度一定是2。
3. 在同样深度的二叉树中,满二叉树的结点个数最多,叶子数最多。

完全二叉树

完全二叉树:对一颗具有n个结点的二叉树按层编号,如果编号为i(1<=i<=n)的结点与同样深度的满二叉树中编号为i的结点在二叉树中位置完全相同,则这棵二叉树称为完全二叉树。

完全二叉树的性质
1. 叶子结点只能出现在最下层和次下层。
2. 最下层的叶子结点集中在树的左部。
3. 倒数第二层若存在叶子结点,一定在右部连续位置。
4. 如果结点度为1,则该结点只有左孩子,即没有右子树。
5. 同样结点数目的二叉树,完全二叉树深度最小。
特别地,满二叉树一定是完全二叉树,但完全二叉树不一定是满二叉树。

二叉树遍历

先序遍历

先序遍历根节点,再遍历左子树,再遍历右子树。

这里写图片描述

ABDGHCEIF

中序遍历

先遍历左子树,再遍历右子树,最后遍历根节点。

这里写图片描述

GDHBAEICF

后序遍历

后序遍历先遍历左子树,再遍历右子树,再遍历根节点。

这里写图片描述

 GHDBIEFCA

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值