여기에 이진 검색 트리 프로그램이 있습니다. 모든 기능이 마지막 시스템을 제외한 시스템 업로드에서 작동하고 있습니다. 이전 기능을 호출 할 때 방문한 노드를 어떻게 든 찾아야합니다. 어떤 아이디어?함수에서 호출 된 방문 노드는 어떻게 찾을 수 있습니까?
class Node:
def __init__(self, value):
self.left = None
self.right = None
self.data = value
class BinarySearchTree:
def __init__(self):
self.root = None
def insert(self, value):
if self.root is None:
self.root = Node(value)
else:
self._insert(value, self.root)
def _insert(self, value, curNode):
if value < curNode.data:
if curNode.left is None:
curNode.left = Node(value)
else:
self._insert(value, curNode.left)
else:
if curNode.right is None:
curNode.right = Node(value)
else:
self._insert(value, curNode.right)
def fromArray(self, array):
for i in range(len(array)-1):
value = array[i]
self.insert(value)
i += 1
def search(self, value):
if self.root is not None:
return self._search(value, self.root)
else:
return False
def _search(self, value, curNode):
if value == curNode.data:
return True
elif value < curNode.data and curNode.left is not None:
self._search(value, curNode.left)
elif value > curNode.data and curNode.right is not None:
self._search(value, curNode.right)
else:
return False
def min(self):
curNode = self.root
while curNode.left is not None:
curNode = curNode.left
return curNode
def max(self):
curNode = self.root
while curNode.right is not None:
curNode = curNode.right
return curNode
def visitedNodes(self):
pass
그리고 목록의 노드 값을 반환해야합니다. 당신은 현재의 코드를 수정하지 않으려면
도움을 주셔서 감사합니다. –