- 1、本文档共44页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[]软件技术基础_树
1.3 非线性结构 1.3.1 树 1.3.2 二叉树 ③关于完全二叉树的其他描述形式: 如果对满二叉树的节点从上至下,从左至右连续编号,具有n个节点的完全二叉树各节点与同样深度的满二叉树的前n个节点一一对应 叶节点仅位于下两层,对任一节点,若其右子树的深度为1,则其左子树的深度不小于1 例2:利用二叉树后序遍历计算二叉树结点个数 int size(btreenode *bt) { if(bt==NULL) return(0); else return( 1 + size ( bt -Lchild ) + size ( bt -Rchild ) ); } 例3:建立二叉树 设输入次序:(先序) 以先根遍历算法为基础,修改为二叉树的建立算法 2、哈夫曼树——最优二叉树(路径带权总长最小) 作业: P.75~76:18, 19, 20, 21, 22; 例1:在一棵二叉树中找某结点s的双亲结点t 算法实现:采用中序遍历 btreenode *searchparent(btreenode *s, btreenode *bt) { btreenode *p, *t; p=bt; setnull(stack); if(s==bt) return(NULL); else{ /*s结点为根结点,无双亲,返回空指针*/ while(p!=NULL || !empty(stack)){ if(p!=NULL){ push(stack,p); p=p-Lchild; } else{ p=pop(stack); if(p-Lchild==s || p-Rchild==s){ t=p; p=NULL; setnull(stack); } else p=p-Rchild; } } return(t); } } /*找到双亲结点t*/ Process (P) /*主动结束遍历过程*/ ABC_ _ DEF _ _ G _ _ _ H _ I _ JK _ _ L _ _ A B C _ _ D E F _ _ G _ _ _ H _ I _ J K _ _ L _ _ 每一个空格“_”表示一个空指针 利用先根遍历算法框架,按照遍历顺序,逐个结点地建立二叉树。 根据输入的情况,将新结点放在指定的位置,然后从新结点开始下一个过程;如果输入是空格,则置结点的相应子树指针为空 void c_preorder( root ){ process(root); if( root-Lchild != NULL) c_preorder (root-Lchild); if( root-Rchild != NULL) c_preorder(root-Rchild); } 将新链点挂在root的左子树上; 将新链点挂在root的右子树上; 输入一个值,并生成新链点; 输入一个值,并生成新链点; void create_tree(btreenode ** root){ read( ch ); if ( ch = = ‘ ‘ ){ *root = NULL; return; } p-data = ch; p-Lchild = NULL; p-Rchild = NULL; p = (btreenode *)malloc(sizeof(btreenode)); 输入新元素 生成整个树的根 c_preorder(p); } 以先根遍历算法为基础递归生成二叉树 九、二叉树的重构: 对于一个遍历序列,若没有加空格字符来表示空孩子,则不能根据一个遍历序列构造出二叉树。因为无法从遍历序列中区分二叉树的左右子树。所以必须用两个序列联合才能构造二叉树。 已知先序序列和中序序列,或者已知后序序列和中序序列,可唯一求出一棵二叉树。而已知先序序列和后序序列,则不能唯一求出一棵二叉树。 例:两棵不同的二叉树如图所示: A B C A B C 先序序列相同:ABC后序序列相同:CBA ∵二叉树是有序树,其子树有左、右之分,且次序不能颠倒。 ∴这是两棵不同的二叉树 例:已知一棵二叉树,其 先序序列为:ABCDEFGHIJ 中序序列为:CBDEAFHIGJ 试画出对应的二叉树。 解:按遍历算法可知: 二叉树的根结点为A, 其左子树的先序序列为:BCDE
您可能关注的文档
- []第三章相对密度法.ppt
- []第七章氨基酸代谢新.ppt
- []第九章 相关与回归分析.ppt
- []第二章 单片机硬件结构含作业.ppt
- []第三章 局域网和城域网.ppt
- []第一讲:色彩概论1.ppt
- []第二章均相反应动力学基础1.pdf
- []第二章 自由基聚合.ppt
- []第二章 增值税.ppt
- []第八章 所有者权益的核算--中国农业大学经管学院课件.pdf
- 2024至2030年中国人造棉面料行业投资前景及策略咨询报告.docx
- 重庆市渝中区遴选公务员2024年国家公务员考试考试大纲历年真题10340笔试历年典型考题及解题思路附.docx
- 2024至2030年中国甲基苯乙酮行业深度调研及发展预测报告.docx
- 2024至2030年中国羚羊角类饮片行业深度调查与前景预测分析报告.docx
- 重庆市面向中国农业大学定向选调2024届大学毕业生2024年国家公务员考试考试大纲历年真题14笔试历.docx
- 重庆市面向西北工业大学定向选调2024届大学毕业生00笔试历年典型考题及解题思路附答案详解.docx
- 中国不动杆菌感染治疗药行业市场现状分析及竞争格局与投资发展研究报告2024-2029版.docx
- 2024至2030年全球与中国ETL软件市场现状及未来发展趋势.docx
- 初中八年级(初二)生物下册期末考试1含答案解析.docx
- 干簧式继电器项目申请报告.docx
最近下载
- 4人剧本杀无间旅途剧本全内容(4人封闭).docx
- 《我的老师是怪兽》绘本PPT.ppt
- 浅议群众文化辅导的评估.pdf VIP
- 2024年生物中考一轮复习课件:主题七++生物学与社会·跨学科实践.pptx VIP
- 3.1主动拒绝烟酒与毒品 第1课时 烟酒有危害(同步习题)2022-2023学年道德与法治五年级上册 .docx VIP
- 学校餐饮服务管理企业评价和退出管理机制.docx VIP
- 群众文化辅导意义及实施.doc VIP
- 神经外科专业质量控制标准.pptx
- 2019部编人教版四年级上册语文全册各单元测试题(含答案十套).pdf VIP
- PNL-WCVD工艺之填洞能力分析与改善.pdf VIP
文档评论(0)