- 1、本文档共114页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构--第六章树和二叉树PPT
第六章 树和二叉树;6.1 树的定义与基本概念;6.1
树的定义与基本概念;一、 树的基本概念;A;(7) FirstChild(Tree,x): 树Tree存在,x是Tree中的某个结点。若x为非叶子结点,则返回它的第一个孩子结点,否则返回“空”。
(8) NextSibling(Tree,x): 树Tree存在,x是Tree中的某个结点。若x不是其双亲的最后一个孩子结点,则返回x后面的下一个兄弟结点,否则返回“空”。
(9) InsertChild(Tree,p,Child): 树Tree存在,p指向Tree中某个结点,非空树Child与Tree不相交。将Child插入Tree中,做p所指向结点的子树。 ;(10) DeleteChild(Tree,p,i): 树Tree存在,p指向Tree中某个结点,1≤i≤d,d为p所指向结点的度。删除Tree中p所指向结点的第i棵子树。
(11) TraverseTree(Tree,Visit()): 树Tree存在,Visit()是对结点进行访问的函数。按照某种次序对树Tree的每个结点调用Visit()函数访问一次且最多一次。若Visit()失败,则操作失败。 ;结点:;孩子结点、
双亲结点、
兄弟结点、
堂兄弟结点、
祖先结点、
子孙结点;任何一棵非空树是一个二元组
Tree =(root,F)
其中:root 被称为根结点,F 被称为子树森林;~~~~~~~~~~~~~~~~~;6.2
二叉树的类型定义
;;二、二叉树的基本操作:;(7) LeftChild(bt,x):求左孩子。若结点x为叶子结点或x不在bt中,则返回“空”。
(8) RightChild(bt,x):求右孩子。若结点x为叶子结点或x不在bt中,则返回“空”。
(9) Traverse(bt): 遍历操作。按某个次序依次访问二叉树中每个结点一次且仅一次。
(10) Clear(bt):清除操作。将二叉树bt置为空树。 ;三、二叉树的性质; 性质 1 : 在二叉树的第 i 层上至多有2i-1 个结点。 (i≥1);性质 2 : 深度为 k 的二叉树上至多含 2k-1 个结点(k≥1); 性质 3 : 对任何一棵二叉树,若它含有n0 个叶子结点、n2 个度为 2 的结点,则必存在关系式:n0 = n2+1;1;1; 性质 4 : 具有 n 个结点的完全二叉树的深度为 ? log2n? +1;性质 5 :;6.3 二叉树的存储结构;将二叉树的所有结点,按一定的顺序存储在一片连续的存储单元中,使用结点之间的相对位置表示结点之间的关系。
可用一维数组存储: bt[n]
顺序:完全二叉树中将编号i的结点存在分量bt[i]中。;A;一般二叉树;单支二叉树;二、链式存储结构;D;typedef struct BiTNode { // 结点结构
TElemType data;
struct BiTNode *lchild, *rchild;
// 左右孩子指针
} BiTNode, *BiTree;;;三叉链表类型表述如下:;6.4二叉树的遍历;遍历:按一定规律访问二叉树中的每个结点,使得每个结点均被访问一次,而且仅被访问一次。; 对“二叉树”而言,可以有三条搜索路径:;二叉树的搜索路径(先左后右):;二、先左后右的遍历算法;1、先序遍历(DLR)操作过程;2、中序遍历(LDR)操作过程;3、后序遍历(LRD)操作过程;A;a;用二叉树表示表达式;三、遍历算法的递归描述;void InOrder(BiTree root)
/ *中序遍历二叉树, root为二叉树根结点的指针*/
{if (root!=NULL)
{ InOrder(root -LChild); /*中序遍历左子树*/
Visit(root -data); /*访问根结点*/
InOrder(root -RChild); /*中序遍历右子树*/
}
} ;3、 后序遍历;作业;四、二叉树的应用举例;1. 在二叉树不空的前提下,输出二叉树的根节点;;void Preorder (BiTree root)
{ if (root!=NULL)
{
printf(“%c”,root-data);
Preorder(root-lchild);
您可能关注的文档
- 数字控制器的设计的理论基础PPT.ppt
- 数字图像处理-第三章-二值图像PPT.ppt
- 数字化设计技术PPT.ppt
- 数字化音频的采集与简单加工PPT.ppt
- 数字图像处理-第04章-图像增强PPT.ppt
- 数字化学习港大厦进展及功能ppt-2PPT.ppt
- 数字滤波器设计PPT.ppt
- 数字温度控制器的设计与制作PPT.ppt
- 数字射线检测设备与标准2013(梁丽虹)PPT.ppt
- 数值分析课件第八章-数值积分PPT.ppt
- 小学科学:ESP8266智能插座电路原理与动手实践研究教学研究课题报告.docx
- 《金融开放浪潮下我国多层次监管体系构建与创新研究》教学研究课题报告.docx
- 区域教育质量监测中人工智能应用的数据质量分析与优化策略教学研究课题报告.docx
- 《金融科技监管中的数据治理与合规性要求》教学研究课题报告.docx
- 《3D打印技术在航空航天领域中的多材料制造与复合材料应用》教学研究课题报告.docx
- 《绿色金融发展中的政府职能与市场机制研究》教学研究课题报告.docx
- 《植物工厂多层立体栽培光环境调控技术对植物生长发育节律的调控机制探讨》教学研究课题报告.docx
- 销售团队年度业绩总结.docx
- 银行风险管理与金融危机防范.docx
- 银行网络攻击预警与快速响应机制.docx
最近下载
- 云南西部沿边高校边境缅甸语人才培养的校政企合作模式探索.docx VIP
- 《固定式钢梯及平台安全要求 第2部分:钢斜梯》GB 4053.2-2009.docx VIP
- 幼小科学衔接视角下家校社协同共育现状及对策研究.pdf VIP
- 2025中国中信金融资产管理股份有限公司甘肃分公司招聘笔试备考题库及答案解析.docx VIP
- 旅游警务服务规范.pdf
- 2025凉山州继续教育公需科目满分答案-深入学xi关于发展新生产力的重要论述.docx VIP
- 第三章 教育目的.ppt VIP
- 乳腺癌脑转移瘤护理查房.pptx VIP
- 眼科专科护理操作风险防范.pptx VIP
- 真菌镜检报告.pptx VIP
文档评论(0)