Python版算法专题--二叉树的深度优先遍历
Posted 光荣之路
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python版算法专题--二叉树的深度优先遍历相关的知识,希望对你有一定的参考价值。
吴老的《selenium webdriver 实战宝典》出版了!
二叉树作为一种数据结构,其应用场景非常多,具体的有:用于数据的检索,数据管理,在游戏领域,可以用于场景的划分等。
二叉树的遍历,分为深度优先遍历,以及广度优先遍历。在深度优先遍历中,具体分为如下三种:
先序遍历:先访问根节点,再遍历左子树,再遍历右子树;
中序遍历:先遍历左子树,再访问根节点,再遍历右子树;
后序遍历:先遍历左子树,再遍历右子树,再访问根节点
对于上图的二叉树,其先序遍历结果是:50,20,15,30,60,70;其中序遍历结果是:15,20,30,50,60,70;其后序遍历结果是:15,30,20,70,60,50
下面,进入我们的代码实现:
首先,定义二叉树中的节点:
定义二叉树类:
递归实现的先序遍历算法如下:
递归实现的中序遍历算法如下:
递归实现的后序遍历算法如下:
我们使用如下的二叉树,做算法的验证:
测试结果如下:
安装喜马拉雅app,搜索“光荣之路”可以收听吴老和他的朋友们分享的35小时测试知识语音
光荣之路公开课大讲堂:413908278
以上是关于Python版算法专题--二叉树的深度优先遍历的主要内容,如果未能解决你的问题,请参考以下文章