Python B-tree:每个节点都从root挂起

时间:2014-08-22 17:16:55

标签: python b-tree

好吧,基本上我要做的是实现一个非常基本和简单的B树,但我发现自己有一个问题:根节点将树中的每个节点作为子节点。我尽可能地简化了,这是我面临的问题的一个例子:

>>> class Btree():
        subs = []
        value = 0


>>> a=Btree()
>>> b=Btree()
>>> c=Btree()
>>> a.value=1
>>> b.subs.append(a)
>>> b.value=2
>>> c.subs.append(b)
>>> c.value = 3
>>> c
<__main__.variable object at 0x103d916a0>
>>> c.value
3
>>> len(c.subs)
2
>>> c.subs
[<__main__.variable object at 0x103d91780>, <__main__.variable object at 0x103d917f0>]
>>> c.subs[1].value
2
>>> c.subs[0].value
1

有人可以告诉我发生了什么事吗?

1 个答案:

答案 0 :(得分:1)

您需要使用__init__()方法来创建实例属性。现在,您正在声明由类的所有实例共享的类属性。试着这样做:

class BTree:
    def __init__(self):
        self.subs = []
        self.value = 0