在python中遍历BFS

时间:2018-07-04 00:46:06

标签: python-3.x breadth-first-search

  

我正在尝试遍历BFS,但我仍然遇到错误。我相信我有    正确遵循了说明,但我仍然遇到错误。   用根元素和一个空列表创建一个Q   而Q中有节点   抓取第一个并将其添加到结果列表   如果左侧有一个节点,则将其添加到Q中   如果右边有一个节点,则将其添加到Q

def BFS(self):
    if self.__value is None:
        return [None]
    Q = []
    Q.append(self)
    while Q:
        node = Q.pop(0)
        if node.__left is not None:
            Q.append(node.__right)
        if node.__right is not None:
            Q.append(node.__right)
    return Q
  

这是我需要通过的测试用例。

    def test_BFS(self):
    bt = binary_search_tree([20, 10, 30, 25, 35])
    self.assertEqual(bt.BFS(), [20, 10, 30, 25, 35])
  

这是我遇到的错误AssertionError:列表不同:[]!= [20、10、30,> 25、35]

0 个答案:

没有答案