Python如何实现深度遍历和广度遍历-创新互联
这篇文章给大家分享的是有关Python如何实现深度遍历和广度遍历的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
成都创新互联专注于崇礼网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供崇礼营销型网站建设,崇礼网站制作、崇礼网页设计、崇礼网站官网定制、微信小程序服务,打造崇礼网络公司原创品牌,更为您提供崇礼网站排名全网营销落地服务。深度遍历:
原则:从上到下,从左到右
逻辑(本质用递归):
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如何实现深度遍历和广度遍历”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
当前标题:Python如何实现深度遍历和广度遍历-创新互联
分享URL:http://hbruida.cn/article/dsdpgh.html