爬虫的深度原则和广度原则

深度优先

# 使用递归方法实现深度优先
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)

 

 

广度优先

# 利用队列实现树的广度优先遍历
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)

 

posted @ 2019-06-03 21:53  Vinay  阅读(670)  评论(0编辑  收藏  举报