【问题标题】:Modify a binary tree in python在python中修改二叉树
【发布时间】:2017-05-03 06:31:48
【问题描述】:

我有一棵包含 7 个元素的二叉树,目前看起来像这样:

1 5 2 7 6 4 3

我试图以后序遍历它并在我去的时候关联元素,所以它看起来像这样:

7 3 6 1 2 4 5

使用以下函数,这是我的Tree 类的一部分:

定义相关(自我,h): 如果 self.root 不是无: self._relable(self.root, h) def _relable(自我,节点,h): 如果节点不是无: self._relable(node.l, h-2) self._relable(node.r, h-1) 节点 = 节点(h)

我的Tree 课程的其余部分与here 的课程大致相同。 我通过add在循环中输入数字 1-7 来填充树。

但是,当我调用tree.relable(7),然后打印树时,树是一样的。 我猜这与 Python 传递参数的方式有关(我是 C++ 程序员),但我不知道如何解决这个问题。 我的全部代码可以在here.

【问题讨论】:

    标签: python binary-tree


    【解决方案1】:

    node = Node(h) 只是分配一个局部变量,它对传递给函数的node 参数没有任何影响。您需要实际修改节点,即node.v = h

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-08-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多