廣度優先遍歷的Python實現


對於廣度優先遍歷而言,我們可以用迭代的方法輕松求解,但是對於遞歸,就很難了,也很難記憶 ,因此這里給出BFS的迭代解法,這個function會根據BFS的順序依次打印出我們訪問的節點,有點小trick,代碼如下:

def bfs_level_order_traversal(node): 
    if node is None:
        return None
    L = [node]
    while len(L) > 0:
        current_node = L.pop(0)
        print(current_node)
     for child in current_node.children:   if child is not None:    L.append(child)

這算法一看就懂,無需多言。linux曾經說道:“talk is cheap ,show me the code”,我們要充分落實linux的思想,才能學好計算機。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM