南强小屋 Design By 杰米
深度遍历:
原则:从上到下,从左到右
逻辑(本质用递归):
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实现深度遍历和广度遍历的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
标签:
Python,深度遍历,广度遍历
南强小屋 Design By 杰米
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
南强小屋 Design By 杰米
暂无Python实现深度遍历和广度遍历的方法的评论...