gpt4 book ai didi

python - 向 BST 添加元素会导致错误

转载 作者:太空宇宙 更新时间:2023-11-03 18:48:17 25 4
gpt4 key购买 nike

我已经使用 python 实现了 BST,但是向树添加元素时出现了一些错误

class Node:
def __init__(self,word,meaning):
self.left=None
self.right=None
self.word=word
self.meaning=meaning



class BST:
def __init__(self,word,meaning):
self.root=Node(word,meaning)

def add_word(self,word,meaning):
if(self.root.word==None):
self.root.word=word
self.root.meaning=meaning
return "Create root"

else:
current=self.root
while(1):
if(word<current.word):
if(current.left):
self.add_word(word,meaning)
else:
current.left=Node(word,meaning)
break
elif(word>current.word):
if(current.right):
self.add_word(word,meaning)
else:
current.right=Node(word,meaning)
break
else:
break

def in_order(self,node):
if(node!=None):
self.in_order(node.root.left)
print(node.root.word,node.root.meaning)
self.in_order(node.root.right)

最佳答案

这个怎么样?


def add_word(self, word, meaning):
self._add_word(self.root, word, meaning)<p></p>

<p>def _add_word(self, node, word, meaning):
if node is None:
node = Node(word, meaning)
return
if word < node.word: self._add_word(node.left, word, meaning)
elif word > node.word: self._add_word(node.right, word, meaning)
</p>

关于python - 向 BST 添加元素会导致错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18971221/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com