二级ms office辅导:数据结构与算法【6树和二叉树】

发布于 2018-07-25 16:50  编辑:jokex
0

小编所收集到的相关二级ms office辅导:数据结构与算法【6树和二叉树】的资料 大家要认真阅读哦!


1.树的基本概念

树是简单的非线性结构,树中有且仅有一个没有前驱的节点称为“根”,其余节点分成m个互不相交的有限集合T1,T2,…,T}mm,每个集合又是一棵树,称T1,T2,…,T}mm为根结点的子树。
•父节点:每一个节点只有一个前件,无前件的节点只有一个,称为树的根结点(简称树的根)。
•子节点:每~个节点可以后多个后件,无后件的节点称为叶子节点。
•树的度:所有节点最大的度。
•树的深度:树的最大层次。



2.二叉树的定义及其基本性质
(1)二叉树的定义:二叉树是一种非线性结构,是有限的节点集合,该集合为空(空二叉树)或由一个根节点及两棵互不相交的左右二叉子树组成。可分为满二叉树和完全二叉树,其中满二叉树一定是完全二叉树,但完全二叉树不一定是满二叉树。二叉树具有如下两个特点:
•二叉树可为空,空的二叉树无节点,非空二叉树有且只有一个根结点;
•每个节点最多可有两棵子树,称为左子树和右子树。




(2)二叉树的基本性质。
性质1:在二叉树的第k层上至多有2k-1个结点(k≥1)。
性质2:深度为m的二叉树至多有2m-1个结点。
性质3:对任何一棵二叉树,度为0的结点(即叶子结点)总是比度为2的结点多一个。
性质4:具有n个结点的完全二叉树的深度至少为[log2n]+1,其中[log2n]表示log2n的整数部分。




3.满二叉树与完全二叉树
(1)满二叉树:满二叉树是指这样的一种二叉树:除最后一层外,每一层上的所有结点都有两个子结点。满二叉树在其第i层上有2i-1个结点。

从上面满二叉树定义可知,二叉树的每一层上的结点数必须都达到最大,否则就不是满二叉树。深度为m的满二叉树有2m-1个结点。

(2)完全二叉树:完全二叉树是指这样的二叉树:除最后一层外,每一层上的结点数均达到最大值;在最后一层上只缺少右边的若干结点。

如果—棵具有n个结点的深度为k的二叉树,它的每—个结点都与深度为k的满二叉树中编号为1~n的结点——对应。


3.二叉树的存储结构

二叉树通常采用链式存储结构,存储节点由数据域和指针域(左指针域和右指针域)组成。二叉树的链式存储结构也称二叉链表,对满二叉树和完全二叉树可按层次进行顺序存储。


4.二叉树的遍历
二叉树的遍历是指不重复地访问二叉树中所有节点,主要指非空二叉树,对于空二叉树则结束返回。二叉树的遍历包括前序遍历、中序遍历和后序遍历。
(1)前序遍历。

前序遍历是指在访问根结点、遍历左子树与遍历右子树这三者中,首先访问根结点,然后遍历左子树,最后遍历右子树;并且,在遍历左右子树时,仍然先访问根结点,然后遍历左子树,最后遍历右子树。前序遍历描述为:若二叉树为空,则执行空操作;否则①访问根结点;②前序遍历左子树;③前序遍历右子树。


(2)中序遍历。

中序遍历是指在访问根结点、遍历左子树与遍历右子树这三者中,首先遍历左子树,然后访问根结点,最后遍历右子树;并且,在遍历左、右子树时,仍然先遍历左子树,然后访问根结点,最后遍历右子树。中序遍历描述为:若二叉树为空,则执行空操作;否则①中序遍历左子树;②访问根结点;③中序遍历右子树。


(3)后序遍历。
后序遍历是指在访问根结点、遍历左子树与遍历右子树这三者中,首先遍历左子树,然后遍历右子树,最后访问根结点,并且,在遍历左、右子树时,仍然先遍历左子树,然后遍历右子树,最后访问根结点。后序遍历描述为:若二叉树为空,则执行空操作;否则①后序遍历左子树;②后序遍历右子树;③访问根结点。




点击下方链接,进入考无忧官方网站,更多精彩等你来!


文章推荐:

2018年全国计算机等级考试都有哪些科目?

2018年全国计算机考试报名为什么照片上传不成功?

2018年全国计算机等级考试一二三四级最新考试大纲汇总


温馨提示:

想要了解更多试题请点击查看>>>计算机考试题库

考试想拿高分吗?更多ms office相关资讯请点击查看>>>二级ms office

想知道更多关于计算机等级考试的最新资讯吗?点击进入>>>计算机等级考试


本文网址:http://www.cnydstone.com/info/jsjdjks/1807/2541593.html
选择分享到:
重庆龙虎微信群 澳洲幸运10开奖结果 极速快3 北京幸运28 159彩票开户 荣鼎娱乐 澳洲幸运10开奖结果 德国时时彩 广西快3开奖 博悦彩票开户