1. 网站的url是一个树形图
主干:www.jianshu.con
主分支:www.jianshu.com/subscriptions/
子分支:www.jianshu.com/notifications
叶子:https://www.jianshu.com/notifications#/comments
......

2. 深度优先算法和实现
深度优先算法用递归实现
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)
3. 广度优先算法和实现
广度优先算法用队列实现
def level_queue(root):
"""使用队列来实现树的广度优先的遍历"""
if root is None:
return
my_queue = []
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.rchild is not None:
my_queue.append(node.rchild)
网友评论