- 1、本文档共139页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构复习(6__11)
第六章 树和二叉树 6.1树的定义 6.1.1 定义和术语 1.树(tree)---- 树是n(n≥0)个结点的有限集T,当n=0时,T为空树; 当n0时,(1)有且仅有一个称为T的根的结点,(2)余下的结点分为m(m ≥ 0)个互不相交的有限集T1,T2,...,Tm , 每个Ti(I=1,2,…,m)也是一棵树,且称为根的子树。 T1={B,C,D,E,F} T11={C,D,E} T111={D} T112={E} T12={F} T2={G,H} T21={H} T3={I,J,K,L,M,N,O,P} T31={J,K,L,M,N} T32={O} T33={P} T311={K} T312={L} ... 2.结点的度(degree)---结点的子树数目 3.树的度----树中各结点的度的最大值 4.n度树----度为n的树 5.叶子(终端结点)----度为0的结点 6.分枝结点(非终端结点,非叶子)---- 度不为0的结点 7.双亲(父母,parent)和孩子(儿子,child) 6.2 二叉树(binary tree) 6.2.1 定义和术语 1.二叉树的递归定义 二叉树是有限个结点的集合,它或者为空集;或者是 由一个根结点和两棵互不相交的,且分别称为根的左子树 和右子树的二叉树所组成。 若二叉树为空集,则为空二叉树。 6.二叉树的基本操作 1.置T为空二叉树:T={ } 2.销毁二叉树T 3.生成二叉树T: 例:生成哈夫曼树、二叉排序树、平衡二叉树、堆 4.遍历二叉树T: 按某种规则访问T的每一个结点一次且仅一次的过程。 5.二叉树 ←→ 树 6.二叉树 → 平衡二叉树 7.求结点的层号 8.求结点的度 9.求二叉树T的深度 10.插入一个结点 11.删除一个结点 12.求二叉树T的叶子/非叶子 13................... 6.2.2 二叉树的性质和特殊二叉树 1.二叉树的第i(i≥1)层最多有2i-1个结点 2.深度为k的二叉树最多有2k-1个结点 3.叶子的数目=度为2的结点数目+1 n0 = n2 + 1 4.满二叉树(full binary tree)---- 深度为k且有2k-1个结点的二叉树。 (1) n个结点的满二叉树的深度=log2(n+1) 设深度为k ∵ 2k - 1=n 2k=n + 1 ∴ k=log2(n+1) (2)顺序编号的满二叉树 5.完全二叉树(full binary tree)---- 深度为k的有n个结点的二叉树,当且仅当每一个结点 都与同深度的满二叉树中编号从1至n的结点一一对应,称 之为完全二叉树(其它教材称为“顺序二叉树”)。 6.2.3 二叉树的存储结构 1.顺序结构 (1) n个结点的完全二叉树,使用一维数组: 例. ElemType tree[n+1]; char t[7]; (2) 一般二叉树 (3)右单枝树 2.链式存储结构 (1)二叉链表 struct bnode //结点类型 { struct bnode * lchild; //左孩子指针 ElemType data; //抽象数据元素类型 struct bnode * rchild; //右孩子指针 } *root,*p; 6.3 遍历二叉树和线索二叉树 6.3.1 遍历二叉树---- 按某种规则访问二叉树的每一个结点且每一结点仅被访问一次。 设: D----访问根结点,输出根结点; L----递归遍历左二叉树; R----递归遍历右二叉树。 遍历规则(方案): ● DLR----前序遍历(先根,preorder) ● LDR----中序遍历(中根,inorder) ● LRD----后序遍历(后根,postorder) ● DRL----逆前序遍历 ● RDL----逆中序遍历 ● RLD----逆后序遍历 6.3.2 建立(生成)二叉树 例1.按先序序列方式建立二叉树 ● DLR规则: 若二叉树为空,则遍历结束;否则: (1) 访问根结点; (2) 遍历根的左子树; (3) 遍历根的右子树。 ● 二叉树T1的先序序列: ADEFGBC 带空二叉树的先序序
您可能关注的文档
- 2009年6月六级真题A 卷讲解.doc
- 项羽本纪 6.11.ppt
- 6.11人们说我长大了.ppt
- 6.11日晨会.ppt
- 6.11一次方程组应用.ppt
- 黑龙江省哈六中2009届高三第一次模拟考试(数学文)Word版.doc
- 暖通空调6-11.12.ppt
- 6.11.2一次方程组的应用.ppt
- 2009年天津小升初河西区数学试题 带答案.doc
- 概率论课件2.6(11.1).ppt
- 2024年头灯资金筹措计划书代可行性研究报告.docx
- 2024年澳代巴豆酸乙酯资金需求报告代可行性研究报告.docx
- 2024年水污染防治设备资金筹措计划书代可行性研究报告.docx
- 2024年纸卷包装输送系统资金申请报告代可行性研究报告.docx
- 2024年湿疹药物资金申请报告代可行性研究报告.docx
- 2024年家用通风电器具资金筹措计划书代可行性研究报告.docx
- 2024年数字模拟混合输出仪表通讯模板资金申请报告代可行性研究报告.docx
- 2024年计算器及货币专用设备资金需求报告代可行性研究报告.docx
- 2024年手工制纸及纸板项目投资申请报告代可行性研究报告.docx
- 2024年抗生素类药物资金筹措计划书代可行性研究报告.docx
文档评论(0)