时间:2021-05-22
深度遍历:
原则:从上到下,从左到右
逻辑(本质用递归):
1)、找根节点
2)、找根节点的左边
3)、找根节点的右边
class Node(object): def __init__(self, item=None, left=None, right=None): self.item = item self.left = left self.right = right d = Node("D")e = Node("E")b = Node("B", d, e)f = Node("F")g = Node("G")c = Node("C", f, g)a = Node("A", b, c) result = [] def deep_search(root): # 深度遍历 核心:递归 result.append(root.item) if root.left: deep_search(root.left) if root.right: deep_search(root.right) return "-->".join(result) print deep_search(a)广度遍历:
核心:队列+递归
def wide_search(root, result=[]): if not result: result.append(root.item) if root.left: result.append(root.left.item) if root.right: result.append(root.right.item) if root.left: wide_search(root.left) if root.right: wide_search(root.right) return "-->".join(result) print wide_search(a)以上这篇Python实现深度遍历和广度遍历的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例讲述了python实现树的深度优先遍历与广度优先遍历。分享给大家供大家参考,具体如下:广度优先(层次遍历)从树的root开始,从上到下从左到右遍历整个树
1.简介无向图是图结构的一种。本次程序利用邻接表实现无向图,并且通过广度优先遍历找到两点之间的最短路径。2.广度优先遍历广度优先遍历(BFS)和深度优先遍历(D
复制目录:包含多层子目录方法:递归,深度遍历,广度遍历深度遍历&广度遍历:思路:1.获得源目录子级目录,并设置目标目录的子级路径1.1在此就创建两个栈(或者队列
本文实例讲述了java实现二叉树的深度优先遍历和广度优先遍历算法。分享给大家供大家参考,具体如下:1.分析二叉树的深度优先遍历的非递归的通用做法是采用栈,广度优
本文实例讲述了JavaScript树的深度优先遍历和广度优先遍历算法。分享给大家供大家参考,具体如下:1、深度优先遍历的递归写法functiondeepTrav