第5章节_树和二叉树
Free template from DeleteL 前置条件:二叉树已存在 输入:指针parent 功能:在二叉树中删除结点parent的左子树 输出:无 后置条件:如果删除成功,得到一个新的二叉树 Search 前置条件:二叉树已存在 输入:数据值x 功能:在二叉树中查找数据元素x 输出:指向该元素结点的指针 后置条件:二叉树不变 PreOrder 前置条件:二叉树已存在 输入:无 功能:前序遍历二叉树 输出:二叉树中结点的一个线性排列 后置条件:二叉树不变 InOrder 前置条件:二叉树已存在 输入:无 功能:中序遍历二叉树 输出:二叉树中结点的一个线性排列 后置条件:二叉树不变 PostOrder 前置条件:二叉树已存在 输入:无 功能:后序遍历二叉树 输出:二叉树中结点的一个线性排列 后置条件:二叉树不变 LeverOrder 前置条件:二叉树已存在 输入:无 功能:层序遍历二叉树 输出:二叉树中结点的一个线性排列 后置条件:二叉树不变 endADT 哈夫曼树的特点: 1. 权值越大的叶子结点越靠近根结点,而权值越小的叶子结点越远离根结点。 2. 只有度为0(叶子结点)和度为2(分支结点)的结点,不存在度为1的结点. 1. 编写非递归算法,求二叉树中叶子结点的个数。 2. 已知某字符串S为“abcdeacedaeadcedabadadaead” ,对该字符串用[0,1]进行前缀编码,问该字符串的编码至少有多少位。 struct BiNode { T data; T *lchild, *rchild; }; 5.4 二叉树的存储结构及实现 lchild data rchild 左孩子结点 右孩子结点 二叉链表 G F E D B A A B C D E F G ∧ ∧ ∧ ∧ ∧ ∧ ∧ ∧ C 二叉链表 5.4 二叉树的存储结构及实现 具有n个结点的二叉链表中,有多少个空指针? G F E D B A A B C D E F G ∧ ∧ ∧ ∧ ∧ ∧ ∧ ∧ C 二叉链表 5.4 二叉树的存储结构及实现 具有n个结点的二叉链表中,有n+1个空指针。 前序遍历——递归算法 void PreOrder(T *root) { if (root ==NULL) return; else { coutroot-data; PreOrder(root-lchild); PreOrder(root-rchild); } } 5.4 二叉树的存储结构及实现 A G B C D F E 5.4 二叉树的存储结构及实现 前序遍历算法的执行轨迹 中序遍历——递归算法 void InOrder (T *root) { if (root==NULL) return; else { InOrder(root-lchild); coutroot-data; InOrder(root-rchild); } } 5.4 二叉树的存储结构及实现 后序遍历——递归算法 void PostOrder(T *root) { if (root==NULL) return; else { PostOrder(root-lchild); PostOrder(root-rchild); coutroot-data; } } 5.4 二叉树的存储结构及实现 层序遍历 5.4 二叉树的存储结构及实现 A B C D E F G 遍历序列: A A B C B D C E F G D E F G 层序遍历 队列Q初始化; 2. 如果二叉树非空,将根指针入队; 3. 循环直到队列Q为空 3.1 q=队列Q的队头元素出队; 3.2 访问结点q的数据域; 3.3 若结点q存在左孩子,则将左
您可能关注的文档
最近下载
- (高清版)DB31∕T 1487-2024 国际医疗服务规范.docx VIP
- 精益管理措施在医院手术室医用耗材管理中的应用.pdf VIP
- 2026及未来5年中国商务男装市场运行态势及战略咨询报告.docx
- 泸州市高2023级(2026届)高三(一诊)数学试题(含标准答案).pdf
- 新城地产商开目标成本主要科目价格测算标准-定稿.pptx VIP
- 12月1日艾滋病宣传日活动方案模板(集锦5篇).docx VIP
- 2024年湖南铁道职业技术学院单招计算机测试模拟题库必考题.docx VIP
- 遗产分割起诉状.docx VIP
- 2021年重庆市中考物理真题(a卷).pdf VIP
- 2025年度民主生活会对照检查材料8篇五个带头合集.docx VIP
原创力文档

文档评论(0)