二叉树前中后序的非递归实现

前言  :  递归我们会有一些问题的

为什么有递归就一定有非递归呢??首先递归是有一定缺陷的

递归真正的缺陷是,每一个程序运行起来呢都是一个线程的形式,但是每一个线程都会有独立的栈空间,但是栈空间是很小的,当递归的深度太深容易栈溢出!!

 

 

 

 只要把节点从栈取出来,说明这个节点的左子树访问完了,需要访问右子树了

--------------------------------------------------------------------------------------------------------------------

当这个节点从栈当中出来时,说明这个节点的左子树都已经访问完了,此时可以访问这个节点的值和这个节点的右子树了!!

 -----------------------------------------------------------------------------------------------------------------------------

后序遍历就略微有点不一样了!!

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/14239.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

性能优化(一)JMeter使用

简介: jmeter 是 apache 公司基于 java 开发的一款开源压力测试工具,体积小,功能全,使用方便,是一个比较轻量级的测试工具,使用起来非常简 单。因为 jmeter 是 java 开发的,所以运行的时候必须…

Tkinter_鼠标选中样式

前言 使用tkinter库创建窗口应用程序示例,包含不同鼠标样式标签。 一、方法 import tkinter as tkclass Mouse_Style:def __init__(self):self.root tk.Tk()self.root.title(样式)self.root.geometry("200x5201100150")self.interface()def interface(…

Hbase drop 表卡住没有响应

在实际工作中遇到过重新创建一个hbase的hive外部表,在 disable table_name; drop table_name 在drop table_name卡住 最后有提示报错。 建议各位查看下表有无lock的情况, 查看和释放hbase lock可以通过如下方式来查看 pid获取: 在 Ma…

使用Go 语言的三个原因

几个星期前,我一个朋友问我:“为什么要关心 Go 语言”? 因为他们知道我热衷于 Go 语言,但他们想知道为什么我认为其他人也应该关心。有三个原因:安全性、生产力和并发性。有些语言可以涵盖一个也有可能是两个方面&…

网络互联设备(集线器、交换机、路由器)

文章目录 一、中继器和集线器二、网桥和交换机1)交换机的三种转发方式2)交换机的分类3)交换机互连方式 三、路由及路由器1)路由器的作用2)路由器的逻辑结构3)路由器的硬件组成4)路由器启动过程 …

免费 Selenium各大浏览器驱动【谷歌chrme、火狐Firefox、IE浏览器】

aardio群 625494397 废话不多说 直接开整! 竟然还有脸收费 服了 下载对应版本的浏览器驱动 目标网址 应用场景 Selenium库涉及到 安装selenium库 pip install selenium-i https://mirrors.aliyun.com/pypi/simple/下载对应浏览器驱动 https://registry.npmmirror.c…

STM32 DSP库CUBEMX配置+FFT频率计算

文章目录 前言一、DSP库添加1.1 加一个define1.2 添加文件路径1.3 主函数 二、FFT运算求频率2.1 初始版本版本2 总结 前言 使用DSP中的函数加快计算。 本文首先讲述如何通过添加dsp库。 再讲述使用DSP库进行实数FFT运算。(FFT运算用到了前面讲述的STM32CubeMX-ADC …

【C++】C/C++内存管理

目录 一、C/C内存管理 二、C语言中动态内存管理方式:malloc/calloc/realloc/free 三、C中动态内存管理 1、new/delete操作内置类型 2、new和delete操作自定义类型 四、operator new与operator delete函数(重点) 五、new和delete的实现原理 1、内置类型 2、自定义类型 六、…

kalibr使用照片生成数据

rosrun kalibr kalibr_bagcreater --folder /home/zf/calib_ws/data/hikvision_chessboard_0707/left --output-bag /home/zf/test.bag 生成照片的目录底下要求有cam0,另外照片的数据格式必须得要求有时间:1639644559400963.png

【GaussDB(DWS)】数据分布式存储-三种类型的表

toc 一、环境说明 华为数据仓库服务DWS,集群版本8.1.3.320集群拓扑结构: 二、数据分布式方式 DWS采用水平分表的方式,将业务数据表的元组打散存储到各个节点内。这样带来的好处在于,查询中通过查询条件过滤不必要的数据&#…

关于IIS安全设置http能访问https不能访问的解决方案

最近折腾IIS,发现网站的http能访问但是https不能访问。 我确认所有关于HTTPS的配置我都配置正确了,结果还是不能访问,一番折腾发现,服务器本身的防火墙和阿里云服务器的安全组规则不是一回事。改完防火墙也没有用,重要…

nginx+Tomcat实现负载均衡、动静分离集群部署

一、负载均衡原理二、动静分离原理三、NginxTomcat负载均衡、动静分离的操作步骤3.1 部署Nginx 负载均衡器3.2 部署2台Tomcat 应用服务器3.2.1 Tomcat服务器1:192.168.147.101:80803.2.2 Tomcat服务器2:192.168.147.102:8080 192.168.147.102:8081 3.3 动…