哪个是更好的BFS算法

时间:2019-04-25 01:26:04

标签: python algorithm tree breadth-first-search

给出一棵二叉树,逐级打印其所有节点值。以下2种方法中,哪种方法在性能和可读性方面更好?

def bfs_queue(root):
   q = collections.deque(root)
   while q:
       node = q.popleft()
       print node.val
       if node.left:
          q.append(node.left)
       if node.right:
          q.append(node.right)

def bfs_no_queue(root):
   q = [root]
   while q:
       new_q = []
       for node in q:
          print node.val
          if node.left:
             new_q.append(node.left)
          if node.right:
             new_q.append(node.right)
       q=new_q

0 个答案:

没有答案