2
我有一個簡單的Tree數據結構,但是,我想實現兩個方法,名爲isLeftChild
和isRightChild
。如何確定一個二叉樹節點是左邊還是右邊的孩子?
問題是我很難理解樹木。概念和一般過程尚未完全掌握。
這裏是我的簡單的樹至今:
class Node(object):
''' A tree node. '''
def __init__(self, data):
self.left = None
self.right = None
self.data = data
def isLeftChild(self):
''' Returns True if the node is a left child, else False. '''
pass
def isRightChild(self):
''' Returns True if the node is a right child, else False. '''
pass
def insert(self, data):
''' Populate the tree. '''
if self.data:
if data < self.data:
if self.left is None:
self.left = Node(data)
else:
self.left.insert(data)
elif data > self.data:
if self.right is None:
self.right = Node(data)
else:
self.right.insert(data)
else:
self.data = data
def printTree(self):
''' Display the tree. '''
if self.left:
self.left.printTree()
print self.data
if self.right:
self.right.printTree()
def main():
root = Node(8)
root.insert(2)
root.printTree()
main()
怎樣纔可以有一個節點確定它是否是一個左子或右子(不參照其data
)?
我不知道我需要添加到我的樹,以確定這一點。