1
155 2015-04-30 08:52:20 +08:00
先过一遍基本语法, 这问题和递归及OO没关系.
|
2
staticor 2015-04-30 09:14:58 +08:00
self指实例自身 self.left 不就是你初始化后的左节点么.
至于递归, 联想成计算阶乘的递归结构. |
3
clino 2015-04-30 09:20:44 +08:00
"path.append(to_list(self.left))"
这里找不到 to_list 吧? 因为局部变量里没有 to_list,就要去全局变量里找,总之不会去你的这个class里找 to_list |
4
tomwen 2015-04-30 09:24:13 +08:00 1
to_list 是 Binary_Tree的一个方法;
定义的时候只有有一个参数:self, 调用的时候不能再传入其他参数,只能通过self.to_list()或者instance.to_list()调用; 而要通过to_list(self.left)来调用的话,传入的参数就不对了;除非在Binary_Tree的外部定义这个函数,再传入相应的参数。 |
5
billgreen1 OP |
6
yorTX9t 2015-05-03 06:23:37 +08:00
楼上的诸位,这里我问一下: python 是不支持尾递归优化的,为何这个 BinaryTree 的 insert 和 to_list 方法要这么写?
|