小编K..*_*K..的帖子

在Python中二进制树inorder遍历

我不认为我正确地遍历它并且当它需要返回一个新列表时它返回空.我已经被困了一段时间,仍然需要做所有其他的遍历.将为所需的输出提供单元测试,但我的单元测试可能是错误的.

def inorder(self):

    print("in INOrDER is entered")
    temp = [None]


    if self.__left:
        temp = temp.append(self.__left)
        return self.__left.inorder() 
    elif self.__right: 
        temp = temp.append(self.__right)
        return self.__right.inorder() 
    return temp


def test_inorder(self):
    bt = family_tree()
    bt.add(20, "melanie")
    bt.add(10, "edwin")
    bt.add(30, "junior")
    bt.add(25, "dora")
    bt.add(35, "kate")
    x = bt.inorder()

    expected = '''(10, 'edwin'),(20, 'melanie'),(25, 'dora'),(30, 'junior'),(35, 'kate')'''
    self.assertEquals(str(x), expected)
    t = family_tree(bt)
    self.assertEquals(str(t), expected)
Run Code Online (Sandbox Code Playgroud)

python binary-tree inorder data-structures

2
推荐指数
1
解决办法
258
查看次数

标签 统计

binary-tree ×1

data-structures ×1

inorder ×1

python ×1