习题课-二叉树.pdf

  1. 1、本文档共44页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
习题课-二叉树

数据结构与算法 二叉树部分习题讲解 齐荣嵘 qrr0831@pku.edu.cn edx二叉树(上) Problem1 一棵有510个结点的完全二叉树的高度为多少?(独根树高度为1) 答案: 根据公式 log 510+ 1 可以计算出高度为9 2 Problem2 在一棵非空二叉树中,若度为0 的结点的个数n,度为2的结点个数 为m,则有n=________ 答案: m+1 Problem3-1 • 下列关于二叉树性质的说法正确的有: 1. 非空满二叉树的结点个数一定为奇数个。√ • 结点度为0 或2 的数目相差1 2. 当一棵完全二叉树是满二叉树时,叶子结点不一定集中在最下面一层。√ • 倒数第二层的度都为0 或者2 3. 一棵非空二叉树的为空的外部结点数目等于其结点数加1。√ • 2*n0+n1=n0+n1+n2+1 4. 非完全二叉树也可以用像完全二叉树那样使用顺序存储结构进行存储。× 5. 完全二叉树最多只有最下面的一层结点度数可以小于2 。× 倒数第二层 6. 满二叉树的所有结点的度均为2 。× 可能为0 Problem3-2 下列关于二叉树遍历的说法正确的有: 1. 只有空二叉树和一个根结点的二叉树这两种二叉树的前序和中序遍历 的顺序恰好一样。× • 所有结点左子树为空的二叉树也满足要求 2. 所有结点左子树为空的二叉树的前序和中序遍历顺序恰好一样。√ 3. 所有结点右子树为空的二叉树的前序和中序遍历顺序恰好一样。× 4. 只有空二叉树和一个根结点的二叉树这两种二叉树的前序和后序遍历 的顺序恰好一样。√ • 前序为中左右,而后序为左右中,所以缺失左子树或者右子树都不能 让两者一样。 5. 所有结点左子树为空的二叉树的前序和后序遍历顺序恰好一样。× 6. 存在一棵非空二叉树,它的前序、中序和后序遍历都是一样的。√ • 只有一个根结点的二叉树满足要求。 Problem4-1 • 已知一棵树的前序遍历为ABDEGCF ,中序遍历为DBGEACF,求这 棵树的后序遍历。 • 答案:DGEBFCA Problem4-2 • 已知一棵树的中序遍历为DBGEACF,后序遍历为DGEBFCA,求这 棵树的前序遍历。 • 答案:ABDEGCF Problem5 • 请写出这棵二叉树的前序、中序、后序遍历。 • 答案: • 前序:BEXLMKCPDHQA • 中序:LXMECKPBQHDA • 后序:LMXCPKEQHADB 由中根序列和后根序列重建二叉树 • 基本思想 • 采用递归的算法 1. 选定后根序列中最后一个节点,即为根节点,在中根序列中找到这一 节点。这一节点将中根序列分为左右两棵子树,并根据这两棵子树将 后根序列中的两棵子树分出。 2. 分别在左右两棵子树中重复上述算法 3. 最后,可得到重建的二叉树 由中根序列和后根序列重建二叉树 • 代码实现 实现堆结构 • 基本思想: • 初始化堆: • 分配内存空间,初始化数组长度为0 • 堆中插入一个元素: • 在数组末尾增加一个元素,数组长度加1 • 删除堆中的一个元素: • 遍历数组找到最小值,将最小值之后的元素全部向前移动一位,数组 长度减1 文本二叉树 • 基本思想: • 每个节点用一个结构体存储 • 建立二叉树 • 将根节点压栈 • 依次读入每一行的节点,并建立与其父节点(栈顶寻找层次比其大1 的节点)的关系,然后将节点压栈 • 注意不要将“*”,即空节点压栈 • 注意存在左子节点,不存在右子节点的情况 • 前序、中序、后序遍历二叉树:递归实现 edx二叉树(下) Problem1-1 • 下列关于二叉搜索树的说法正确的有: 1. 二叉搜索

文档评论(0)

xxj1658888 + 关注
实名认证
内容提供者

教师资格证持证人

该用户很懒,什么也没介绍

领域认证该用户于2024年04月12日上传了教师资格证

1亿VIP精品文档

相关文档