创建二叉树就不说了,这里直接:

  • 中序递归遍历算法
void InOrder(BiTree T){if(T){InOrder(T->lchild);cout<<T->data<<" ";InOrder(T->rchild);}
}
  • 中序非递归遍历算法
void InOrder(BiTree T){//还是模拟上面的遍历过程BiTree ptr[20];int top = -1;
/*下面的双重判断和前面的一样,在进栈、出栈的过程中可能会出现栈空的情况,而此时的遍历还没有结束,
所以需要据此来维持循环的进行。*/while(T || top!=-1){while(T){ptr[++top] = T;T = T->lchild;}if(top!=-1){T = ptr[top--];cout<<T->data<<" ";   //输出在出栈后T = T->rchild;} } }

-----------------------------------------------------------分割线------------------------------------------------------------------------

测试截图:

作者:无涯明月

发文时间:2018-11-16

二叉树的中序遍历-递归和非递归算法相关推荐

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

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

  2. 二叉树的中序遍历 递归与非递归

    94. 二叉树的中序遍历 给定一个二叉树的根节点 root ,返回它的 中序 遍历. 示例 1: 输入:root = [1,null,2,3] 输出:[1,3,2] 示例 2: 输入:root = [ ...

  3. 二叉树的后序遍历-递归和非递归算法

    同样的,创建的算法在先序中有,略去. 后序递归遍历算法 void PostOrder(BiTree bt){if(bt){PostOrder(bt->lchild);PostOrder(bt-& ...

  4. 二叉树先序遍历、中序遍历、后序遍历 递归和非递归算法

    一.二叉树先序遍历 (1)递归算法 // 递归先序遍历 public static void recursionPreorderTraversal(TreeNode root) {if (root ! ...

  5. 二叉树的中序遍历 [递归 迭代]

    中序遍历的递归 & 迭代 前言 一.二叉树的中序遍历 二.递归 & 迭代 1.递归版 2.迭代(断左子树版) 3.迭代(root迭代版) 4.mirror(O(1)空间版) 总结 参考 ...

  6. Leetcode题库 94.二叉树的中序遍历(递归 C实现)

    文章目录 解析 代码 解析 中序遍历:先左再中后右 Func函数,接收一个节点,节点非空,则先遍历其左子树,再存入自身val值,最后遍历右子树 ret数组存储每个非空节点的val值 pos为下一个存入 ...

  7. LeetCode 94. 二叉树的中序遍历(递归)(迭代)(颜色标记法)

    题目描述 给定一个二叉树,返回它的后序遍历 思路 详见链接 代码 递归 #class TreeNode: # def __init__(self,x): # self.val = x # self.l ...

  8. 二叉树中序遍历-递归与非递归

    递归版本: public static void reversePos(Node head){if (head == null)return;reversePos(head.left);System. ...

  9. 二叉树的中序遍历(C语言)

    我们从两个方向讲解二叉树的中序遍历(递归+迭代) 一.递归 思想: 从根节点开始向其的左孩子遍历,一直访问每个节点的左孩子,当其走到NULL时返回,返回时记录每个节点的数值,然后访问该节点的右孩子,如 ...

最新文章

  1. 不给编制,非升即走,青年科学家该何去何从?
  2. 实战Nagios+Ganglia发送警告信息,短信,微信等
  3. php拓展板块 按需开启,php如何按需加载方式来增加程序的灵活度
  4. 在ASP.NET中上传图片并生成缩略图
  5. GCD 深入理解:第一部分
  6. 2021新交规超速处罚规定
  7. Redis高频面试笔记:mysql8.0新特性
  8. Objective-C 日记③ 字符串
  9. 常见Linux命令(非文件操作)
  10. c语言初学者程序,C语言初学者必懂的100个范例程序
  11. 在计算机中这样切换大小英语字母,怎么在Excel2016表格中快速转换字母大小写
  12. 3分钟阿里云无影云桌面全解析(云桌面/传统电脑/VDI/服务器区别对比)
  13. 一文带你了解机器翻译
  14. C# TCP/IP通讯协议的整理(二)附带——与欧姆龙PLC通讯
  15. outlook邮箱邮件大小限制_如何解除OutLook邮件附件大小限制?成功发送大附件的邮件...
  16. 第二章:minio单机版,使用客户端备份文件
  17. java nim游戏_LeetCode算法题-Nim Game(Java实现)
  18. ccpc2016长春站打铁记(后记)
  19. BIOS硬盘模式更改为AHCI模式,及更改后win10蓝屏的解决办法
  20. dbeave连接达梦数据库简单操作使用

热门文章

  1. 【XSY3126】异或II 数学
  2. 深度学习分类分到同一个类
  3. strcpy、strcpy_s、strncpy、strncpy_s
  4. github pages搭建博客的域名解析(简单有效)
  5. MTL框架:模型、权重与融合公式
  6. AI 投资探索路上的一些感受
  7. Sourcetree 使用
  8. 群辉服务器如何清理缓存和文件,群晖的硬盘缓存到底肿么清理
  9. 01excel空白一键填充
  10. 从小样本学习出发,奔向星辰大海