List 如何将列表转换为二叉搜索树
大家好,我正在尝试将列表(可以排序或不排序(我不想使用.sort()方法))转换为二进制搜索树。列表是[50,76,21,4,32100,64,52],答案应该是 编写的代码是:List 如何将列表转换为二叉搜索树,list,binary-search-tree,python-3.8,List,Binary Search Tree,Python 3.8,大家好,我正在尝试将列表(可以排序或不排序(我不想使用.sort()方法))转换为二进制搜索树。列表是[50,76,21,4,32100,64,52],答案应该是 编写的代码是: class BinarySearchTree: def __init__(self, value): self.value = value self.leftChild = None self.rightChild = None def insert(mylis
class BinarySearchTree:
def __init__(self, value):
self.value = value
self.leftChild = None
self.rightChild = None
def insert(mylist):
root = BinarySearchTree(mylist[0])
curr = root
for i in range(1, len(mylist)):
newnode = BinarySearchTree(mylist[i])
if(newnode.value<=root.value and root.leftChild):
while curr.leftChild != None:
curr = curr.leftChild
curr.leftChild = newnode
elif(newnode.value <= root.value):
root.leftChild = newnode
elif(newnode.value >= root.value and root.rightChild):
while curr.rightChild != None:
curr = curr.rightChild
curr.rightChild = newnode
else:
root.rightChild = newnode
return root
myroot = insert([50,76,21,4,32,100,64,52])
类二进制搜索树:
定义初始值(自身,值):
自我价值=价值
self.leftChild=None
self.rightChild=无
def插入(mylist):
root=BinarySearchTree(mylist[0])
curr=根
对于范围(1,len(mylist))中的i:
newnode=BinarySearchTree(mylist[i])
if(newnode.value)newnode.value到node.value的比较需要在树的每一层上,而不仅仅是根上。是的,这就是我所想的。我该怎么做,你能帮我编写代码吗。Python3.5