0
저는 C++에서 이진 트리를 만들었고 파이썬에서 BST를 만들려고 했으므로 아래와 같이 코드를 작성했습니다. 그러나 아무것도 표시되지 않습니다! 나는 무슨 일이 일어나고 있는지 모른다. 파이썬에서 이진 검색 트리 (BST)에 필요한 결과를 얻지 못했습니다.
class Node:
def __init__(self, value, left=None, right=None):
self.left = left
self.right = right
self.value = value
pass
class Tree:
def __init__(self):
self.root = None
pass
def createNode(self, val):
return Node(val)
def insert(self, value):
self.__insert(self.root, value)
def __insert(self, rootptr, val):
if rootptr is None:
rootptr = self.createNode(val)
return 0
elif val < rootptr.value:
if rootptr.left is not None:
self.__insert(rootptr.left, val)
else:
rootptr.left = self.createNode(val)
elif val > rootptr.value:
if rootptr.right is not None:
self.__insert(rootptr.right, val)
else:
rootptr.right = self.createNode(val)
else:
#TODO: raise exception
print("Duplicate value!")
def traversePreorder(self):
self.__traversePreorder(self.root)
def __traversePreorder(self, rootptr):
if rootptr is None:
return 1
print(rootptr.value)
self.__traversePreorder(rootptr.left)
self.__traversePreorder(rootptr.right)
mytree = Tree()
mytree.insert(1)
mytree.insert(2)
mytree.insert(2)
mytree.insert(4)
mytree.insert(5)
mytree.traversePreorder()
나는 appreciated.Thank 당신이 될 것입니다 여기 저기 그러나 나의 좌절 아무것도 worked.Any 도움말을 개조하면 되겠 어를 많이 했어요.