第三节 树与二叉树 树的基本概念: 前面我们讨论的线性表,栈、队列和数组等都是线性结构。而树是一种非线性数据结构,它的每一个结点,都可以有不止一个直接后继,除根外的所有结点,都有且只有一个直接前趋。这些数据结点按分支关系组织起,清晰地反映了数据元素之间的层次关系。

Slides:



Advertisements
Similar presentations
第十一课 公正处理民事关系. 听歌曲《我想有个家》,阅读结婚誓词,回答 : 如何才能拥有一个幸福、温馨的家庭? 导 入 导 入 探究活动一:幸福、温馨家庭的讨论 亲情和爱情的精心维护 法律的有力保护 品味 与 感悟 家庭是父亲 的王国,母 亲的世界, 儿童的乐园 。 —— 爱默生.
Advertisements

輔導處八月份主管會報 報告人 : 洪自強. 輔導組本月工作 【行政文書】 建置 100 學年度工作資料夾 擬訂 100 學年度第一學期行事曆 【認輔工作】 匯整 100 學年度續接個案資料 輔導教師持續關心責任班級高關懷個案 統整國小轉銜個案資料 (3 位 ) 【通報案件】 通報性騷擾案件 1 件.
第二章 中药药性理论的现代研究 掌握中药四性的现代研究 掌握中药五味的现代研究 掌握中药毒性的现代研究 了解中药归经的现代研究.
理念是教育的灵魂 行动是成功的保证 咸阳底张学区小学段 课程改革研讨报告 2011年4月.
主题8 对教学设计与实施的评价 讲课教师:关坤
消防知识进校园 珠海市公安消防局 贾博.
文艺类说明文阅读.
墨子選 非攻.
第二节 交通运输布局变化的影响 北京市第十一中学 张芊丽 2008年1月.
兵车行 杜甫 福州十一中语文组 林嵘臻.
诚信为本、操守为重、坚持准则、不做假账 第 九 章 会 计 报 表.
小猪.
第一章 专利的种类 一、发明专利 20年 二、实用新型专利 10年 三、外观设计专利 10年
学生高考心理辅导 2009 上海市学校心理健康教育研究中心 冯永熙.
第五十章 旅外华人现代汉语文学 回目录.
区位因素分析专题.
野薑花有機生態教育農場 主講人 林進財.
文题: (1)请以“从此,我(他/她)不再________”为题,写一篇不少于600字的记叙文。 (2)以“做人从_____开始” 为题,写一篇不少于600字的文章。 (3)请以“你还会____吗”为题写一篇600字以上的文章,文体不限,诗歌除外。
第八章   股利分配 本章主要介绍了影响股利政策的因素、主要的股利政策、股利支付的程序及方式、 股票分割及股票回购等问题。通过本章的学习,要求掌握不同股利政策的具体做法,掌握股票股利的作用,了解股票分割和股票回购的涵义及影响。
《天津市建设工程监理企业信用评价办法》 介绍.
综合实践活动 设计与实践案例 ——《感恩父母》主题班会.
一條美麗的銀蠹魚 從水經注裡游出來-──亞弦 讓晶瑩剔透的文字,停駐在我們心中-淺談新詩教學
工业区位因素 胶州二中 高绪军.
初级会计实务 第二章 负债(三) 主讲人:杨菠.
長平之戰是戰國後期一場決定性戰役,秦將白起充分利用地利之便,採後退誘敵、合圍殲滅的戰術。
作者简介: 闻一多(1899-1946) ,湖北浠水人,前新月派诗人和新格律诗理论的奠基者,著名的诗人、学者、民主战士。 其新歌创作的主要成就是两部诗《红烛》(1923)《死水》(1928) 浓烈而真挚的爱国情思是其诗歌的灵魂。 朱自清曾称赞闻一多是五四时期“唯一的爱国诗人”。 闻一多诗歌理论的核心是讲究“三美”:
——解读《国务院办公厅关于继续深入开展 “安全生产年”活动的通知》
第三课:我国政府是人民的政府 3.2政府的责任:对人民负责.
幼托教師的在職教育訓練 第三組 498i0052蕭羽婷 498i0053 顏于淨 498i0058 黃祺婷 498i0059 林怡均
第一节 工业的区位因素与区位选择 【考点1】工业的区位因素 1.常见的工业区位因素 (1)自然因素:土地、原料、动力、水源等。 (2)社会经济因素:交通、劳动力、市场、政府政策、工农业基础、个人偏好、环境等。 2.影响不同工业部门的主导因素 列表分析不同的工业部门在区位选择时需要考虑的主导因素:
第一章 国际私法的概念 第一节 国际私法的调整对象 第二节 国际私法的范围 第三节 国际私法的性质 第四节 国际私法的名称
财经法规与会计职业道德 (7) 四川财经职业学院.
第九课 第二框 世界多极化:不可逆转.
《钢铁是怎样炼成的》 语段精读.
问题解决与创造思维 刘 国 权 吉林省高等学校师资培训中心.
第四单元 自觉依法律己 避免违法犯罪.
近代化 小农经济,铁犁牛耕 古老 男耕女织,肩挑背驮 中国 君主专制,文化专制 农耕文明 闭关锁国,天朝上国 近代 西方 工业文明 经济工业化/城市化 政治民主化/法治化 思想理性化/科学化.
初级会计实务 第十章 事业单位会计基础 主讲人:杨菠.
财经法规与会计职业道德 (13) 四川财经职业学院.
诸葛亮广场.
第四课 恪守职业道德 我爱岗 我敬业.
第四节 会计监督.
第七章 诉讼参加人.
第八章了解法律制度自觉遵守法律.
高中历史多媒体课件 高中历史多媒体课件 隋唐时期政治经济概况. 高中历史多媒体课件 高中历史多媒体课件 隋唐时期政治经济概况.
一、考试范围 二、考试要求 三、近几年中考题型及解答技巧 四、近来复习中出现的问题 五、采取的措施 六、中考热点复习
必修三 稳态与环境 第5章生态系统及其稳定性 第5节 生态系统的稳定性.
出卖人转移标的物的所有权于买受人,买受人支付价款的合同。 (一)特点 1.双务合同 2.有偿合同 3.诺成合同 4.非要式合同
近代中国经济结构的变动.
第六课 我们的 中华文化.
人口迁移与人口流动.
《7.1 力》说课稿 丰城中学 杨青青.
第八章 财务分析与评价.
思想政治选考数据分析 绍兴市教育教学研究院 骆新华 2016、9、14.
吳福明教授 排球運動發展簡史 編制.
地球在宇宙中 史苏丹.
一條美麗的銀蠹魚 從水經注裡游出來-──亞弦 讓晶瑩剔透的文字,停駐在我們心中-淺談新詩教學
第十章 行政事业单位会计.
第四章 存货 第一节 存货基础 第二节 原材料 第三节 其他存货 第四节 存货期末计量.
旅游服务与管理专业 知识点7 道教教主老子圣迹 任务三 道 教 主题二 中国四大宗教 辉县市职业中等专业学校 辉县市职业中等专业学校
霸气车辆.
八年级上册 第十一章 三角形 多边形 湖北省咸宁市咸安区教研室 李 群.
第二部分 免疫系统与免疫活性分子 第二章 免疫系统 第三章 免疫球蛋白 第二 部分 第五章 细胞因子 第四章 补体系统.
知识点二 国际环境法的实施.
九年级 上册 22.3 实际问题与二次函数 (第1课时).
树和二叉树(一).
成 本 会 计 学 第六章 产品成本计算的基本方法.
107學年度第1期 學生重補修說明會.
2.2 数轴.
二叉树的还原 二叉树的周游方式 前序周游 后序周游 中序周游 可以由哪两种周游方式唯一确定一棵二叉树?
Presentation transcript:

第三节 树与二叉树 树的基本概念: 前面我们讨论的线性表,栈、队列和数组等都是线性结构。而树是一种非线性数据结构,它的每一个结点,都可以有不止一个直接后继,除根外的所有结点,都有且只有一个直接前趋。这些数据结点按分支关系组织起,清晰地反映了数据元素之间的层次关系。

算 法 与 数 据 结 构 现实世界中,能用树的结构表示的例子: 学校的行政关系(P31)、书的层次结构(P32)、人类的家族血缘关系等。

例:下图是一个有13个结点的树,其中A是根,其余结点为分三个互不相交的子集: T1={B,E,F,K,L} T2={F,G} T3={D,H,I,J,M} T1、T2和T3都是根A的子树。 3

结点的度:结点所拥有子树的个数,图中A的度为3,C的度为1,F的度为0。 树结构的基本术语: 结点的度:结点所拥有子树的个数,图中A的度为3,C的度为1,F的度为0。 叶子结点:树中度为0的结点,图中的K、L、F、G、M、I、J均称为叶子结点(或终端结点)。 子结点与父结点:把每一个结点的一个或多个后件称为该点的子结点;反之,这个结点称为其子结点的父结点,同一个父结点的子结点之间互称为兄弟。 树的度:树中各结点的度的最大值,度不为0的结点为非终端结点同,又叫分支结点。 树的深度:树中结点的最大层次称为树的深度或高度。图中树的深度为4。 森林:N>0或N=0棵互不相交的树的集合组成森林。图中将根结点A去掉,其中三棵子树就组成一个森林。 4

二叉树(Binary Tree): 因为树的每个结点的度不同,存储困难,使得对树的处理算法很复杂。所以引出二叉树的讨论。 二叉树是一种很有用的非线性结构。 二叉树具有以下两个特点: (1)非空二叉树只有一个根结点; (2)每一个结点最多有两棵子树,且分别称为该结点的左子树与右子树。 5

6

二叉树的性质: 性质1:在任意一棵二叉树中,度为0的结点(即叶子结点)总是比度为2的结点多一个。 例子1:某二叉树中度为2的结点有18个,则该二叉树中有 19 个叶子结点。 特别要注意:二叉树不是树的特殊情况。 a a b b 两棵不同的二叉树 7

二叉树的性质: 性质2:二叉树的第i层上至多有2 i-1(i 1)个结点 第一层(i=1),有21-1=1个节点。 4 2 3 1 6 7 8 9 10 11 12 13 14 15 5 第一层(i=1),有21-1=1个节点。 第二层(i=2),有22-1=2个节点。 第三层(i=3),有23-1=4个节点。 第四层(i=4),有24-1=8个节点。

二叉树的性质: 性质3:深度为h的二叉树中至多含有2h-1个结点 1+2+4+…+2m-1=2m-1(等比数列前M项和) 6 7 8 9 10 11 12 13 14 15 5 1+2+4+…+2m-1=2m-1(等比数列前M项和) 此树的深度h=4,共有24-1=15个节点。

满二叉树与完全二叉树 算 法 与 数 据 结 构 满二叉树是指除最后一层外,每一层上的所有结点都有两个子结点。 完全二叉树是指这样的二叉树:除最后一层外,每一层上的结点数均达到最大值;在最后一层上只缺少右边的若干结点。 注意:满二叉树是完全二叉树,完全二叉树不一定是满二叉树。 若一棵完全二叉树的结点数n为偶数,则叶子结点数为结点数除以2(即:n/2),若结点数为奇数,则 叶子结点数为结点数加一再除以2(即:(n+1)/2)

满二叉树的特点: 每一层上都含有最大结点数。 11

完全二叉树的特点:除最后一层外,每一层都取最大 结点数,最后一层结点都集中在该层最左边的若干位置 完全二叉树的特点:除最后一层外,每一层都取最大 结点数,最后一层结点都集中在该层最左边的若干位置 12

13

真题讲解: 一个包含n个分支结点(非叶结点)的非空满k叉树,k>=1,它的叶结点数目为:(2009年第十五届 单选) A) nk + 1 B) nk-1 C) (k+1)n-1 D. (k-1)n+1 完全二叉树共有2*N-1个结点,则它的叶节点数是( )。(2008年第十四届 单选) A. N-1 B. 2*N C. N D. 2N-1 E. N/2

规律总结: 对于完全二叉树而言 算 法 与 数 据 结 构 如果它的结点个数为偶数,则该二叉树中:叶子结点的个数=非叶子结点的个数 如果它的结点个数为奇数,则该二叉树中:叶子结点的个数=非叶子结点的个数+1 (即叶子结点数比非叶子结点数多一个) 1 2 3 4 1 2 3 4 5 2 叶子结点 3 2 非叶子结点 2

树的存储结构 分为两种: 顺序存储结构: 对树中的结点进行编号,利用下标变量存放结点的数据,将一棵树的所有结点数据存储到一维数组中。 链式存储结构: 利用多重链表保存树中的各个结点的数据及其所有子树的信息。

二叉树的存储结构 顺序存储结构 首先对二叉树中的结点从根开始按照从上至下、从左至右的顺序逐层编号,用结点的编号作为下标,将所有结点一次存放在一维数组中。 b e d a c f g 1 2 3 4 5 6 7

a c b g 用结点的编号i作为下标,构成记录数组T,变量T[i]存放二叉树的第i个结点的数据。 e f d 从图上可以看出: 1 2 3 4 5 6 7 从图上可以看出: 结点i的左子树一定保存在结点2i数据单元中;右子树一定保存在结点2i+1数据单元中; 真题讲解: (2010年第十六届奥赛 单选) 完全二叉树的顺序存储方案,是指将完全二叉树的结点从上到下、从左到右依次存放到一个顺序结构的数组中。假定根结点存放在数组的1号位置上,则第k号结点的父结点如果存在的话,应当存放在数组中的(   )号位置 A. 2k B. 2k+1 C. k/2下取整 D. (k+1)/2

a c b e f i 满二叉树和完全二叉树一般应用顺序存储结构进行数据的存储。 对于非满二叉树,会有某些编号没有对应的结点(通常称为“虚结点”),通常可以用特殊标记符号(例如:#)表示虚结点,将树转换为满二叉树进行存储。 b e d a c f g h i j 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 a b c d e f g # h i j

例题:下表是根据完全二叉树的特性用顺序表来存储的一棵二叉树,结点数据为字符型(结点层次从小到大,同一层从左到右顺序存储,#表示空节点,@表示存储数据结束)。要求画出对应存储结构的二叉树。 b a c d e h f g 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 a b c # d e f g h @

b a c d e f 2.链式存储结构 对于二叉树的每个结点需要保存三种信息:数据元素、左子树、右子树,故可以增设两个分别指向左、右子树结点的指针来表达树的结构。因此,在二叉树对应的二重链表中,每个结点包含三个域:数据域、左指针、右指针。 这种链表称为二叉链表。二叉链表的表头指针bt指向根结点。 a b c d e 左指针域 数据域 右指针域 lchild data rchild f

二叉树的遍历 二叉树的遍历指不重复地访问二叉树的所有结点。从二叉树的结构定义得知,二叉树是由"根结点"、"左子树"和"右子树"三部分构成,则遍历二叉树的操作可分解为"访问根结点"、"遍历左子树"和"遍历右子树"三个子操作,并且由二叉树的定义可知,遍历左子树和遍历右子树可如同遍历二叉树一样"递归"进行。 前序遍历二叉树 中序遍历二叉树 后序遍历二叉树 若二叉树为空,则空 操作;否则 (1) 访问根结点; (2) 先序遍历左子树; (3) 先序遍历右子树。 操作;否则 (1) 中序遍历左子树; (2) 访问根结点; (3) 中序遍历右子树。 操作;否则 (1) 后序遍历左子树; (2) 后序遍历右子树; (3) 访问根结点。

二叉树的遍历 前序遍历:ABDEGHCFIJ 中序遍历:DBGEHACIJF 后序遍历:DGHEBJIFCA

例题:设一棵二叉树的中序遍历dbgeachfi,后序遍历为dgebhifca,画出这棵二叉树,并写出它的前序遍历。 前序遍历:abdegcfhi

3、设一棵二叉树的中序遍历结果为DBEAFC,前序遍历结果为ABDECF,则后序遍历结果为: DEBFCA 3、已知一棵二叉树前序遍历和中序遍历分别为ABDEGCFH和DBGEACHF,则该二叉树的后序遍历为( B ) A) GEDHFBCA B) DGEBHFCA C) ABCDEFGH D) ACBFEDHG 3.具有3个结点的二叉树有( D ) A) 2种形态 B) 4种形态 C) 7种形态 D) 5种形态 4. 设有下列二叉树:对此二叉 树前序遍历的结果为( B ) A) ZBTTCPXA B) ATBZXCTP C) ZBTACTXP D) ATBZXCPT

真题讲解: 一颗二叉树的前序遍历序列是ABCDEFG,后序遍历序列是CBFEGDA,则根结点的左子树的结点个数可能是(   )。(2010年第十六届 多选) A.0      B. 2         C. 4         D. 6 二叉树T,已知其先根遍历是1 2 4 3 5 7 6(数字为结点的编号,以下同),后根遍历是4 2 7 5 6 3 1,则该二叉树的可能的中根遍历是( )。 (2008年第十四届 不定项选择) A. 4 2 1 7 5 3 6 B. 2 4 1 7 5 3 6 C. 4 2 1 7 5 6 3 D. 2 4 1 5 7 3 6

+ / * x b - 例题:如图所示的二叉树,写出它的中序遍历、前序遍历和后序遍历。 ^ 5 2 3 前序遍历:+*5x3-/b^x2,运算符 号放在参与运算的变量及数字的 前面,这种方式称为前缀表示。 中序遍历:5*x-3+b/x^2,运算符 号放在参与运算的变量及数字的 中间,这种方式称为中缀表示。 这种方式同人们熟知的代数式类似。 - 后序遍历:5-3x*bx2^/+,运算符 号放在参与运算的变量及数字 的后面,这种方式称为后缀表示。

+ * 例题:将表达式A+B*C/D写成前缀表示与 后缀表示。 二叉树的前序遍历就是表达 式的前缀表示:+A*B/CD 注意:在根据已知的表达式画出对应的二叉树时,应考虑在前 缀表示与后缀表示中保持表达式中运算符号的优先级不改变。 二叉树的前序遍历就是表达 式的前缀表示:+A*B/CD A + * B / C D 二叉树的后序遍历就是表达 式的后缀表示:ABCD/*+

真题讲解: 前缀表达式“+ 3 * 2 + 5   12 ” 的值是( )。(2010年第十六届 单选) A. 23 B. 25 C. 37 D. 65 表达式a*(b+c)-d的后缀表达式是: (2009年第十五届 单选) A) abcd*+- B) abc+*d- C) abc*+d- D) -+*abcd