深度优先遍历

/* Binary Tree Traversal - Preorder, Inorder, Postorder */
#include<iostream>
using namespace std;struct Node {char data;struct Node *left;struct Node *right;
};//Function to visit nodes in Preorder
void Preorder(struct Node *root) {// base condition for recursion// if tree/sub-tree is empty, return and exitif(root == NULL) return;printf("%c ",root->data); // Print dataPreorder(root->left);     // Visit left subtreePreorder(root->right);    // Visit right subtree
}//Function to visit nodes in Inorder
void Inorder(Node *root) {if(root == NULL) return;Inorder(root->left);       //Visit left subtreeprintf("%c ",root->data);  //Print dataInorder(root->right);      // Visit right subtree
}//Function to visit nodes in Postorder
void Postorder(Node *root) {if(root == NULL) return;Postorder(root->left);    // Visit left subtreePostorder(root->right);   // Visit right subtreeprintf("%c ",root->data); // Print data
}// Function to Insert Node in a Binary Search Tree
Node* Insert(Node *root,char data) {if(root == NULL) {root = new Node();root->data = data;root->left = root->right = NULL;}else if(data <= root->data)root->left = Insert(root->left,data);else root->right = Insert(root->right,data);return root;
}int main() {/*Code To Test the logicCreating an example treeM/ \B   Q/ \   \A   C   Z*/Node* root = NULL;root = Insert(root,'M'); root = Insert(root,'B');root = Insert(root,'Q'); root = Insert(root,'Z'); root = Insert(root,'A'); root = Insert(root,'C');//Print Nodes in Preorder. cout<<"Preorder: ";Preorder(root);cout<<"\n";//Print Nodes in Inordercout<<"Inorder: ";Inorder(root);cout<<"\n";//Print Nodes in Postordercout<<"Postorder: ";Postorder(root);cout<<"\n";
}

有些代码不应该被忘记,也没有源代码不应该被记住。

二叉树C++ | 深度优先遍历(前序、中序、后序)_3相关推荐

  1. 二叉树的深度优先遍历 (前序 中序 后序)

    深度优先遍历主要依靠递归实现,初学递归,研究二叉树的遍历顺序有助于加深对递归的理解. 例: *注意对比代码顺序 1.前序: public void deep_search(TreeNode root) ...

  2. 二叉树的深度优先搜索, 前序中序后序

    深度优先搜索即 depth first search, 简称 DFS 从根节点触发, 沿着路径, 达到最大层次的节点, 然后回退到上一节点, 继续搜索 有前序, 中序, 后序三种方式 前序遍历 根左右 ...

  3. 详细图解二叉树四种遍历(前序中序后序层次遍历)

    文章目录 一.前序遍历 常规操作 简单方法 二.中序遍历 常规操作 简单方法 三.后序遍历 常规操作 四.层次遍历 常规操作 本文中以此二叉树为例 一.前序遍历 常规操作 先根,再左,再右 确定了遍历 ...

  4. Python__数据结构与算法——树、二叉树(实现先、中、后序遍历)

    目录 一.树 二.二叉树 树和前面所讲的表.堆栈和队列等这些线性数据结构不同,树不是线性的.在处理较多数据时,使用线性结构较慢,而使用树结构则可以提高处理速度.不过,相对于线性的表.堆栈和队列等线性数 ...

  5. PHP实现二叉树的深度优先遍历(前序、中序、后序)和广度优先遍历(层次) 转载陈小龙哈2017...

    http://blog.csdn.net/baidu_30000217/article/details/52953127 前言: 深度优先遍历:对每一个可能的分支路径深入到不能再深入为止,而且每个结点 ...

  6. php 实现二叉树的最大深度_PHP实现二叉树的深度优先遍历(前序、中序、后序)和广度优先遍历(层次)...

    前言: 深度优先遍历:对每一个可能的分支路径深入到不能再深入为止,而且每个结点只能访问一次.要特别注意的是,二叉树的深度优先遍历比较特殊,可以细分为先序遍历.中序遍历.后序遍历.具体说明如下: 前序遍 ...

  7. 二叉树前序遍历python输出_[宜配屋]听图阁 - Python实现输入二叉树的先序和中序遍历,再输出后序遍历操作示例...

    本文实例讲述了Python实现输入二叉树的先序和中序遍历,再输出后序遍历操作.分享给大家供大家参考,具体如下: 实现一个功能: 输入:一颗二叉树的先序和中序遍历 输出:后续遍历 思想: 先序遍历中,第 ...

  8. 二叉树的前序中序后序遍历

    二叉树的前序中序后序遍历 二叉树的遍历 前序遍历 中序遍历 后序遍历 总结 二叉树的遍历 二叉树的遍历有前序遍历,中序遍历,后序遍历三种. 今天我把二叉树的遍历方法给大家总结一下,也算对我自己学习的一 ...

  9. 【二叉树Java】二叉树遍历前序中序后序遍历的非递归写法

    本文主要介绍二叉树前序中序后序遍历的非递归写法 在探讨如何写出二叉树的前序中序后序遍历代码之前,我们先来明确一个问题,前序中序后序遍历根据什么区分? 二叉树的前序中序后序遍历,是相较根节点说的.最先遍 ...

  10. 二叉树的前序中序后序遍历java代码实现

    1.前序遍历概述 前序遍历(VLR) 是二叉树遍历的一种,也叫做先根遍历.先序遍历.前序周游,可记做根左右.前序遍历首先访问根结点然后遍历左子树,最后遍历右子树. 若二叉树为空则结束返回,否则: (1 ...

最新文章

  1. Spring Boot 应用如何提高服务吞吐量?
  2. Redis秒杀功能设计与实现
  3. cdn加载插件和npm安装的差别_web开发:打字机效果插件Typed.js
  4. php rbac 菜单生成,RBAC集成AdminLTE后台主题对菜单进行控制
  5. hibernate映射(学生-科目-成绩)
  6. linux可上网limbo镜像,limbo模拟器win10镜像
  7. 扁平化管理:硅谷高效工作法
  8. 惠普触控板使用指南_hp触摸板开关怎么使用 如何锁定hp触摸板
  9. mysql怎么排成绩前三名_Mysql查询各科成绩前三名并分别排序
  10. 四成单身、平均年薪19万、最爱买房,原来真实的程序员是这个样子的…...
  11. Python Requests实现天气预报
  12. python读取单元格前几个字的值_EXCEL表格中怎么取前一单元格中的前几个字符
  13. 使用word写论文必备技巧(设置目录,目录导航)
  14. 限制guest账号访问硬盘权限
  15. 企业级数据中台应用架构和技术架构
  16. mysql中limit用法_MYSQL中LIMIT用法?
  17. MT6752/MT6755处理器功能介绍,MT6752/MT6755芯片资料分享
  18. 浏览器打不开计算机二级网页,二级网页打不开,教您浏览器二级页面打不开怎么解决...
  19. 初学者如何选购第一把吉他?新手注意这几点,告别选择困难!附上10款高性价比入门吉他推荐!
  20. 【hackerrank】-Day 16: Exceptions - String to Integer

热门文章

  1. IoT开发精英实战营招募啦!速来报名!
  2. 大型情感剧集Selenium:3_元素定位 #华为云·寻找黑马程序员#
  3. 使用香浓熵实现DNS Tunnel检测
  4. Kotlin学习笔记26 协程part6 协程与线程的关系 Dispatchers.Unconfined 协程调试 协程上下文切换 Job详解 父子协程的关系
  5. 被word格式折磨疯掉的我
  6. R语言回归表达式中常用的符号
  7. Linux 安装多个版本JDK并设置默认版本
  8. input复选框改变样式
  9. 前端中实时显示当前时间的js代码
  10. Bootstrap3代码模板