1.深度优先算法:递归实现
def depth_tree(tree_node):
if tree_node is not None:
print(tree——node._data)
if tree_node._left is not None:
return depth_tree(tree_node._left)
if tree_node._right is not None:
return depth_tree(tree_node._right)
缺点:如果太深 导致栈太深,容易溢出
2.广度优先算法:队列实现
def level_queue(root):
if root is None:
return
my_quee = []
node = root
my_queue.append(node)
while my_queue:
node = my_queue.pop(0)
print(node.elem)
if node.lchild is not None:
my_queue.append(node.lchild)
if node.richild is not None:
my_queue.append(node.rchild)
深度优先算法和广度优先算法
最新推荐文章于 2024-11-27 13:28:45 发布