网络编程
位置:首页>> 网络编程>> Python编程>> Python实现深度遍历和广度遍历的方法

Python实现深度遍历和广度遍历的方法

作者:纳尔逊皮卡丘  发布时间:2023-10-13 20:41:13 

标签: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)

来源:https://blog.csdn.net/zhaobig/article/details/78649059

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com