网站大量收购独家精品文档,联系QQ:2885784924

二进制树行进.ppt

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

5-2 二叉树;5.1 二叉树的概念 5.2 二叉树的周游 5.3 二叉树的存储结构 5.4 二叉搜索树 5.5 堆与优先队列 5.6 Huffman树及其应用 5.7 二叉树知识点总结;5.2 二叉树的周游 ;5.2.1 抽象数据类型;5.2.1 抽象数据类型;5.2.1 抽象数据类型;5.2.1 抽象数据类型;5.2.1 抽象数据类型;5.2.1 抽象数据类型;遍历(周游)二叉树;遍历方式 深度优先遍历 按根、左子树、右子树三个部分进行访问 广度优先遍历(逐层遍历) 从根节点开始,向下逐层访问每个节点,在每一层次上,从左到右访问每个节点。;5.2.2 深度优先周游二叉树;基于二叉树的递归定义,这三种深度优先周游的递归定义 (1) 前序法(tLR次序,preorder traversal)。其递归定义是 访问根结点; 按前序周游左子树; 按前序周游右子树。 (2) 中序法(LtR次序,inorder traversal)。其递归定义是 按中序周游左子树; 访问根结点; 按中序周游右子树。 (3) 后序法(LRt次序,postorder traversal)。其递归定义是 按后序周游左子树; 按后序周游右子树; 访问根结点。;5.2.2 深度优先周游二叉树;5.2.2 深度优先周游二叉树;若二叉树为空,则返回;否则;A;【算法5.3】 深度优先周游二叉树或其子树 templateclass T void BinaryTreeT::PreOrder (BinaryTreeNodeT *root) { // 前序周游二叉树或其子树 if (root != NULL) { Visit(root-value()); // 访问当前结点 PreOrder(root-leftchild()); // 前序周游左子树 PreOrder(root-rightchild()); // 前序周游右子树 } };递归算法转化为非递归算法;先序遍历的非递归实现;先序遍历的非递归实现;先序遍历的非递归实现;若二叉树为空,则返回;否则;A;中序遍历递归算法;非递归中序周游算法的主要思想是: 每遇到一个结点就把它推入栈,然后去周游其左子树 周游完左子树后,从栈顶托出这个结点并访问之 然后按照其右链接指示的地址再去周游该结点的右子树;A;栈实现中序遍历非递归算法;若二叉树为空,则返回;否则;A;后序遍历递归算法;后序遍历的非递归实现;后序遍历的非递归实现;后序遍历的非递归实现;【算法5.6】 非递归后序周游二叉树或其子树 enum Tags{Left,Right}; // 定义枚举类型标志位 template class T class StackElement { // 栈元素的定义 public: BinaryTreeNodeT* pointer; // 指向二叉树结点的指针 Tags tag; // 标志位 }; templateclass T void BinaryTreeT::PostOrderWithoutRecursion(BinaryTreeNodeT* root) { using std::stack; // 使用STL的栈 StackElementT element;; stackStackElementT aStack; BinaryTreeNodeT* pointer; if (root == NULL) // 如果是空树则返回 return; else pointer = root; while (!aStack.empty() || pointer) { //如果当前指针非空则压栈并下降到最左子结点 while (pointer != NULL) { element.pointer = pointer; element.tag = Left; // 置标志位为Left, 表示进入左子树 aStack.push(e

文档评论(0)

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

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

1亿VIP精品文档

相关文档