二叉树的中序遍历-递归和非递归算法
创建二叉树就不说了,这里直接:
- 中序递归遍历算法
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
二叉树的中序遍历-递归和非递归算法相关推荐
- 数据结构二叉树中序遍历递归和非递归算法
2022.11.19 二叉树中序遍历递归和非递归算法 任务描述 相关知识 编程要求 测试说明 C/C++代码 任务描述 本关任务:给定一棵二叉树,使用递归和非递归的方法实现二叉树的中序遍历结果. 相关 ...
- 二叉树的中序遍历 递归与非递归
94. 二叉树的中序遍历 给定一个二叉树的根节点 root ,返回它的 中序 遍历. 示例 1: 输入:root = [1,null,2,3] 输出:[1,3,2] 示例 2: 输入:root = [ ...
- 二叉树的后序遍历-递归和非递归算法
同样的,创建的算法在先序中有,略去. 后序递归遍历算法 void PostOrder(BiTree bt){if(bt){PostOrder(bt->lchild);PostOrder(bt-& ...
- 二叉树先序遍历、中序遍历、后序遍历 递归和非递归算法
一.二叉树先序遍历 (1)递归算法 // 递归先序遍历 public static void recursionPreorderTraversal(TreeNode root) {if (root ! ...
- 二叉树的中序遍历 [递归 迭代]
中序遍历的递归 & 迭代 前言 一.二叉树的中序遍历 二.递归 & 迭代 1.递归版 2.迭代(断左子树版) 3.迭代(root迭代版) 4.mirror(O(1)空间版) 总结 参考 ...
- Leetcode题库 94.二叉树的中序遍历(递归 C实现)
文章目录 解析 代码 解析 中序遍历:先左再中后右 Func函数,接收一个节点,节点非空,则先遍历其左子树,再存入自身val值,最后遍历右子树 ret数组存储每个非空节点的val值 pos为下一个存入 ...
- LeetCode 94. 二叉树的中序遍历(递归)(迭代)(颜色标记法)
题目描述 给定一个二叉树,返回它的后序遍历 思路 详见链接 代码 递归 #class TreeNode: # def __init__(self,x): # self.val = x # self.l ...
- 二叉树中序遍历-递归与非递归
递归版本: public static void reversePos(Node head){if (head == null)return;reversePos(head.left);System. ...
- 二叉树的中序遍历(C语言)
我们从两个方向讲解二叉树的中序遍历(递归+迭代) 一.递归 思想: 从根节点开始向其的左孩子遍历,一直访问每个节点的左孩子,当其走到NULL时返回,返回时记录每个节点的数值,然后访问该节点的右孩子,如 ...
最新文章
- 不给编制,非升即走,青年科学家该何去何从?
- 实战Nagios+Ganglia发送警告信息,短信,微信等
- php拓展板块 按需开启,php如何按需加载方式来增加程序的灵活度
- 在ASP.NET中上传图片并生成缩略图
- GCD 深入理解:第一部分
- 2021新交规超速处罚规定
- Redis高频面试笔记:mysql8.0新特性
- Objective-C 日记③ 字符串
- 常见Linux命令(非文件操作)
- c语言初学者程序,C语言初学者必懂的100个范例程序
- 在计算机中这样切换大小英语字母,怎么在Excel2016表格中快速转换字母大小写
- 3分钟阿里云无影云桌面全解析(云桌面/传统电脑/VDI/服务器区别对比)
- 一文带你了解机器翻译
- C# TCP/IP通讯协议的整理(二)附带——与欧姆龙PLC通讯
- outlook邮箱邮件大小限制_如何解除OutLook邮件附件大小限制?成功发送大附件的邮件...
- 第二章:minio单机版,使用客户端备份文件
- java nim游戏_LeetCode算法题-Nim Game(Java实现)
- ccpc2016长春站打铁记(后记)
- BIOS硬盘模式更改为AHCI模式,及更改后win10蓝屏的解决办法
- dbeave连接达梦数据库简单操作使用