Python实现深度遍历和广度遍历的方法
程序员文章站
2023-11-16 13:22:10
深度遍历:
原则:从上到下,从左到右
逻辑(本质用递归):
1)、找根节点
2)、找根节点的左边
3)、找根节点的右边
class node(objec...
深度遍历:
原则:从上到下,从左到右
逻辑(本质用递归):
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实现深度遍历和广度遍历的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。