python 递归遍历二叉树
python 递归遍历二叉树
我确定很多人不能真正的理解二叉树……
class Node: def __init__(self,value=0,left=0,right=0): self.value=value self.left=left #左子树self.right=right #右子树def preTraverse(root): '''前序遍历'''#print('#'*6)if root==0:#print('这个节点的值是',root)return 9 print(root.value) preTraverse(root.left) preTraverse(root.right) def midTraverse(root): '''中序遍历'''if root==0: #print('这个节点的值是',root)return midTraverse(root.left) print(root.value) midTraverse(root.right) def afterTraverse(root): '''后序遍历'''if root==0: return afterTraverse(root.left) afterTraverse(root.right) print(root.value)if __name__=='__main__':root=Node('D',Node('B',Node('A'),Node('C')),Node('E',Node('G'),Node('F')))print('前序遍历:')preTraverse(root)print('\n')print('中序遍历:')midTraverse(root)print('\n')print('后序遍历:')afterTraverse(root)print('\n')
前序遍历:
D
B
A
C
E
G
F中序遍历:
A
B
C
D
G
E
F后序遍历:
A
C
B
G
F
E
D
先序遍历
对于二叉树的的遍历很可以用递归,递归很难理解,那我们就来捋一捋。
if root==0:print('这个节点的值是',root)return 9print(root.value)preTraverse(root.left)preTraverse(root.right)
看懂这张图就看懂中序遍历
后序遍历
posted on 2018-06-26 22:30 luoganttcc 阅读(...) 评论(...) 编辑 收藏
python 递归遍历二叉树相关推荐
- 栈模拟递归 遍历二叉树的正确写法
栈模拟递归 遍历二叉树的正确写法 二叉树的生成 树的层次遍历 前中后序遍历的递归实现 关于栈的实现 Reference 对于二叉树的生成,遍历,应该是树这个数据结构需要的基本功,只有真的理解了树的生成 ...
- 中序非递归遍历二叉树
二叉树的递归算法虽然简单,但是会导致时间复杂度比较高,下面给大家带来用栈实现的二叉树非递归算法 首先定义好二叉树,和元素类型为二叉树的栈 typedef struct BiTNode{TElemTyp ...
- 由“递归遍历二叉树”引发的思考
由"递归遍历二叉树"引发的思考 递归的用法我感觉自己已经掌握了,可是今天在递归遍历二叉树时,它又迷一样令我费解.我本人在算法这一块很薄弱,所以想把这个问题发出来,希望有大神能够为我 ...
- 【转】更简单的非递归遍历二叉树的方法
[转]更简单的非递归遍历二叉树的方法 解决二叉树的很多问题的方案都是基于对二叉树的遍历.遍历二叉树的前序,中序,后序三大方法算是计算机科班学生必写代码了.其递归遍历是人人都能信手拈来,可是在手生时写出 ...
- 非递归遍历二叉树(算法导论第三版第十章10.4-5)
非递归遍历二叉树(算法导论第三版第十章10.4-5) template<typename T> void TraverseBinaryTreeNonRecursive(BinaryTree ...
- python递归遍历目录_Python实现递归遍历文件夹并删除文件
思路: 遍历文件夹下面的文件夹 如果文件夹名称等于".svn",则修改文件夹的属性(因为".svn"的文件都是只读的,你不能直接删除) 删除此文件夹 如果文件夹 ...
- 更简单的非递归遍历二叉树
解决二叉树的很多问题的方案都是基于对二叉树的遍历.遍历二叉树的前序,中序,后序三大方法算是计算机科班学生必写代码了.其递归遍历是人人都能信手拈来,可是在手生时写出非递归遍历恐非易事.正因为并非易事,所 ...
- 数据结构专题 | 先序非递归遍历二叉树
先序非递归遍历二叉树,主要是利用了栈的先进后出原理,用一个栈即可实现该算法,下面我们一起来看一下如何来实现吧 目录 先序建立二叉树 先序递归遍历二叉树 先序非递归遍历二叉树 先序建立二叉树 在进行先序 ...
- 非递归遍历二叉树实现和理解
非递归遍历二叉树 1.前言 总所周知,二叉树的遍历分为先序遍历.中序遍历和后序遍历.遍历的顺序不同,则结果不同.而遍历方法也分递归和非递归.而二者的复杂度相同:时间复杂度为O(nlgn),空间复杂 ...
最新文章
- 计算机专业文档写作课件,计算机专业论文写作的方法.ppt
- Android平台根目录文件
- CTFshow 命令执行 web64
- sdut 3363 驴友计划
- GO语言eclipse开发环境搭建
- Oracle行列转换的思考与总结
- 【POJ】2454.Jersey Politics
- hdu 4339 Query 线段树 多校联合赛(四) 第九题
- python学习之生成器
- EmmyLua 断点调试、xlua断点调试
- 三阶科赫雪花PYTHON
- SEO和SEM的区别与联系有哪些?SEM和SEO是什么?
- 【最新】解决Github网页上图片显示失败的问题
- 特长生模拟——买装备
- 2E07-view-lists-Collapsed
- Redis从精通到入门——数据类型Zset实现源码详解
- linux调度不执行,linux crond.d定时调度执行一段时间后不执行
- 董树义 近代微波测量技术_潘时龙:28岁推开微波光子学大门
- bp神经网络解决什么问题,bp神经网络的改进方法
- P3644 [APIO2015]八邻旁之桥(中位数、堆)