- 1、本文档共46页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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
您可能关注的文档
- 第六章光纤.ppt
- 第六章商业文书礼仪.ppt
- 第六章实验室质量与标准化管理.ppt
- 第六章文件布局和要求.ppt
- 第六章网络商品和净品品牌.ppt
- 第二轮艺术的重要知识.ppt
- 第六章面试实施阶段.ppt
- 第六章互联网络.ppt
- 第六章违约.ppt
- 第六课苏联迅速崛起.ppt
- 2025年安徽工商职业学院单招职业技能测试题库带答案(典型题).docx
- 2025年洛阳科技职业学院单招职业技能测试题库带答案(新).docx
- 2025年荆门职业学院单招职业技能测试题库及答案(易错题).docx
- 2025年宣化科技职业学院单招职业技能测试题库(精练).docx
- 2025年包头职业技术学院单招职业技能测试题库带答案(新).docx
- 2025年江西工商职业技术学院单招职业技能测试题库带答案(精练).docx
- 2025年黑龙江农业经济职业学院单招职业技能测试题库精编.docx
- 2025年山东艺术设计职业学院单招职业技能测试题库带答案(基础题).docx
- 2025年陕西工商职业学院单招职业技能测试题库带答案(突破训练).docx
- 2025年承德护理职业学院单招职业技能测试题库【word】.docx
文档评论(0)