得到最小值我創建了一個二進制搜索類,但我在努力創建一個最小功能,以幫助找到一個二叉樹的最小值。如何從一個二叉搜索樹
class BinarySearchTree:
def __init__(self, data):
self.data = data
self.left = None
self.right = None
def insert(self, new_data):
if new_data == self.data:
return
elif new_data < self.data:
if self.left == None:
self.left = BinarySearchTree(new_data)
else:
self.left.insert(new_data)
else:
if self.right == None:
self.right = BinarySearchTree(new_data)
else:
self.right.insert(new_data)
def create_string(self,spaces):
info = ' ' * spaces + str(self.data)
if self.left != None:
info += '\n(l)' + self.left.create_string(spaces + 4)
if not self.right == None:
info += '\n(r)' + self.right.create_string(spaces + 4)
return info
def __str__(self):
representation = self.create_string(0)
return representation
def get_left(self):
return self.left
def get_right(self):
return self.right
def get_data(self):
return self.data
def minimum(tree):
if tree.left:
return minimum(tree.get_left)
else:
return tree.get_left
所以我寫了最小函數,但由於某種原因它總是返回一個Nonetype錯誤。有沒有人有一個想法如何二叉樹get_left直到有沒有更多的節點
'其他:返回tree.data'應該修復它 – inspectorG4dget
回報最低(tree.get_left()) – satoru
它仍然會返回一個沒有類型,甚至與tree.get_left(更換後) – Matthew