- 1、本文档共114页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
演示文稿演讲PPT学习教学课件医学文件教学培训课件
第六章 树和二叉树;6.1 树的定义与基本概念;6.1
树的定义与基本概念;一、 树的基本概念;A;数据对象D:一个集合,该集合中的所有元素具有相同的特性。 ;基本操作:;(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 被称为子树森林;二、二叉树的基本操作:;(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
- 树木的观赏特性演示幻灯片.ppt
- 树木的生长和木材的形成演示幻灯片.ppt
- 物理(云南卷)(考试版A4) .docx
- 广州花都区2024-2025学年牛津深圳版七年级英语下第三次月考模拟练习题(含答案解析).docx
- 广州花都区2024-2025学年牛津深圳版八年级英语下第三次月考模拟练习卷(含答案解析).docx
- 物理(云南卷)(考试版A4).docx
- 广州天河区2024-2025学年牛津深圳版八年级英语下第三次月考模拟练习题(含答案解析).docx
- 2024-2025学年吉林省长春市第七十二中学九年级(下)月考语文试卷(3月份).docx
- 坐标测量机试题及答案.docx
- 地形数字测绘试题及答案.docx
- 地铁服务试题库及答案.docx
- 花店与茶馆合作合同.docx
文档评论(0)