У меня есть классы деревьев: BinarySearchTree, TreeNode и AVLTree.
Класс TreeNode используется в классе BinarySearchTree. AVLTree наследует BinarySearchTree. См. код ниже:
from Tnode import TreeNode
class BinarySearchTree:
def __init__(self):
self.root = None
self.size = 0
Класс узла дерева выглядит следующим образом:
class TreeNode:
def __init__(self,key,val,left=None,right=None,parent=None):
self.key = key
self.payload = val
self.leftChild = left
self.rightChild = right
self.parent = parent
Класс AVLTree:
from Tnode import TreeNode
from binstree import BinarySearchTree
class AVLTree(BinarySearchTree):
def __init__(self,key,val,left=None,right=None,parent=None,balanceFactor=0):
TreeNode.__init__(self,key,val,left,right,parent)
self.balanceFactor = balanceFactor
self.root = None
self.size = 0
Всякий раз, когда я запускаю класс AVLTree, я получаю эту ошибку: AttributeError: TreeNode instance has no attribute 'balanceFactor'
Что я делаю неправильно? Коды можно посмотреть здесь: http://interactivepython.org/runestone/static/pythonds/Trees/AVLTreeImplementation.html
http://interactivepython.org/runestone/static/pythonds/Trees/SearchTreeImplementation.html
TreeNode.__init__
в своем методеAVLTree.__init__
, если вы вообще не наследуете отTreeNode
? - person Blckknght   schedule 02.09.2015