二叉树中序遍历

  • C++二叉树中序遍历基本思想
  • C++二叉树中序遍历代码

C++二叉树中序遍历基本思想

申请一个栈stk,再申请一个变量cur,初始值让它等于头节点
先把cur压入栈中对cur节点的整颗子树来说,依次把左边界压入栈中,不断重复直到cur为空
从stk弹出一个节点记作node,打印node的值,并让cur=node.right。重复第二个步骤,当stk为空并且cur为空时,结束循环。

C++二叉树中序遍历代码

//递归写法
void inorderSortCure(TreeNode* root)
{if(root!=NULL){inorderSortCure(root->left);cout<<root->val<<" ";inorderSortCure(root->right);}
}
//非递归写法
void inorderSort(TreeNode* root)
{stack<TreeNode*> stk;TreeNode* cur = root;while(!stk.empty()||cur){while(cur){stk.push(cur);cur=cur->left;}TreeNode* node = stk.top();stk.pop();cout<<node->val<<" ";cur= node->right;}
}

C++数据结构与算法之二叉树中序遍历相关推荐

  1. 数据结构与算法练习-二叉树中序遍历

    python数据结构与算法练习-二叉树中序遍历 二叉树中序遍历 思路 python实现 二叉树中序遍历 链接: link. 给定一个二叉树的根节点 root ,返回它的 中序 遍历. 样例 输入:ro ...

  2. leetcode算法题--二叉树中序遍历迭代法

    原题链接:https://leetcode-cn.com/problems/binary-tree-inorder-traversal/ 二叉树中序遍历迭代法,栈实现 vector<int> ...

  3. 【C语言】二叉树中序遍历(递归和非递归)算法

    二叉树中序遍历的实现思想是: 访问当前节点的左子树: 访问根节点: 访问当前节点的右子树: 图 1 二叉树 以图  1 为例,采用中序遍历的思想遍历该二叉树的过程为: 访问该二叉树的根节点,找到 1: ...

  4. 数据结构二叉树中序遍历递归和非递归算法

    2022.11.19 二叉树中序遍历递归和非递归算法 任务描述 相关知识 编程要求 测试说明 C/C++代码 任务描述 本关任务:给定一棵二叉树,使用递归和非递归的方法实现二叉树的中序遍历结果. 相关 ...

  5. 二叉树中序遍历Stack实现

    之前也知道递归的实质就是Stack,但一直也没怎么思考.今天看到一个二叉树中序遍历的算法题,想着可以自己用栈实现一下. 首先中序遍历二叉树的访问顺序是左子树-根节点-右子树.既然是树的遍历,我们需要定 ...

  6. sdut 2137 数据结构实验之求二叉树后序遍历和层次遍历

    数据结构实验之求二叉树后序遍历和层次遍历 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Discuss Problem Descr ...

  7. 数据结构实验之求二叉树后序遍历和层次遍历

    数据结构实验之求二叉树后序遍历和层次遍历 Description 已知一棵二叉树的前序遍历和中序遍历,求二叉树的后序遍历和层序遍历. Input 输入数据有多组,第一行是一个整数t (t<100 ...

  8. C++ morris inorder二叉树中序遍历(附完整源码)

    C++ morris inorder二叉树中序遍历 morris inorder二叉树中序遍历算法的完整源码(定义,实现,main函数测试) morris inorder二叉树中序遍历算法的完整源码( ...

  9. 二叉树中序遍历的非递归算法

    根据二叉树的先序遍历结果创建一棵二叉树,即先创建根结点,然后再创建左子树,最后创建右子树,对于左右子树的创建也遵循根左右的原则,所以对于左右子树的创建可以递归调用本函数,此问题是典型的需要用递归算法求 ...

最新文章

  1. php 通过exec 创建git分支失败
  2. ​iOS的界面触摸事件处理机制,然后用一个实例来说明下应用场景.
  3. Hibernate List集合映射
  4. Worksheet.get_Range Method
  5. JVM学习笔记(三)------内存管理和垃圾回收
  6. 开发Android应用 提升性能的小技巧
  7. Dubbo源码分析系列-深入Dubbo SPI机制
  8. 正则表达式RegExp对象
  9. Swift 势必取代 Python?
  10. 为啥连接mysql失败_为什么连接数据库后插入老是失败?
  11. SQL中创建外键约束
  12. 用户调用机房收费下机中用到的策略与职责链解析
  13. nand flash地址机制
  14. 解决服务器上传的tar格式的中不可以解压tar格式的压缩包 zip解压中文会在文件中显示乱码
  15. Socket通讯连接常见错误代码
  16. 【Unity】优化工具Profiler
  17. 俞敏洪致青春三“想”:理想、梦想和思想(转载)
  18. Project 2016中如何管理工时?
  19. 那些外贸老鸟们都在认真使用的8个实用小工具
  20. SSL双向验证--keytool实现自签名证书

热门文章

  1. 洲际酒店集团旗下智选假日酒店大中华区第200家酒店开业
  2. Ubuntu 16.04安装基于nethogs衍生的网络监控软件(应用实时网速监控)
  3. Python天天练1
  4. 职场规划——自信和谦虚
  5. C语言:数组的初始化,打印,逆置(使用函数实现)。
  6. 苹果5s怎么关闭锁屏显示无服务器,苹果手机出现无服务是怎么回事(无服务故障和应对措施)...
  7. Hibernate乐观锁和悲观锁详解
  8. 今年双11,退货率6%
  9. 修复Unity空白报错问题
  10. envi提取纹理信息并进行地物可分离性指数分析,选取最合适窗口的纹理特征