博客
关于我
数据结构 python3 二叉树遍历 前序 中序 后序
阅读量:341 次
发布时间:2019-03-04

本文共 909 字,大约阅读时间需要 3 分钟。

二叉树遍历示例

以下是二叉树的前序、中序和后序遍历示例代码及输出结果。

前序遍历示例

前序遍历的定义是先访问左子树,后访问右子树。以下是代码示例:

def inorderTraversal(self, root: TreeNode) -> List[int]:    res = []    def dfs(root):        if not root:            return        res.append(root.val)        dfs(root.left)        dfs(root.right)    dfs(root)    return res

代码执行后输出结果为:[0, 1, 3, 4, 2]。

中序遍历示例

中序遍历的定义是先访问左子树,后访问右子树。以下是代码示例:

def inorderTraversal(self, root: TreeNode) -> List[int]:    res = []    def dfs(root):        if not root:            return        dfs(root.left)        res.append(root.val)        dfs(root.right)    dfs(root)    return res

代码执行后输出结果为:[3, 1, 4, 0, 2]。

后序遍历示例

后序遍历的定义是先访问左子树,后再访问右子树。以下是代码示例:

def inorderTraversal(self, root: TreeNode) -> List[int]:    res = []    def dfs(root):        if not root:            return        dfs(root.left)        dfs(root.right)        res.append(root.val)    dfs(root)    return res

代码执行后输出结果为:[3, 4, 1, 2, 0]。

转载地址:http://qdce.baihongyu.com/

你可能感兴趣的文章
SpringBoot中集成influxdb-java实现连接并操作Windows上安装配置的influxDB(时序数据库)
查看>>
SpringBoot中集成eclipse.paho.client.mqttv3实现mqtt客户端并支持断线重连、线程池高并发改造、存储入库mqsql和redis示例业务流程,附资源下载
查看>>
Padding
查看>>
paddlehub安装及对口罩检测
查看>>
SpringBoot中集成Actuator实现监控系统运行状态
查看>>
paddle的两阶段基础算法基础
查看>>
Page Object模式:为什么它是Web自动化测试的必备工具
查看>>
SpringBoot中重写addCorsMapping解决跨域以及提示list them explicitly or consider using “allowedOriginPatterns“ in
查看>>
PageHelper 解析及实现原理
查看>>
pageHelper分页工具的使用
查看>>
pageHelper分页技术
查看>>
PageHelper分页查询遇到的小问题
查看>>
PageHelper实现分页详细版、整合SSM应用
查看>>
SpringBoot中配置为开发模式,代码修改后不用重新运行
查看>>
springboot中pom.xml、application.yml、application.properties
查看>>
PageHelper:上手教程(最详细)
查看>>
PageOffice如何实现从零开始动态生成图文并茂的Word文档
查看>>
PageRank算法
查看>>
Paint类(画笔)
查看>>
paip. 调试技术打印堆栈 uapi print stack java php python 总结.
查看>>