0
次のように挿入機能を実装しました。バイナリ検索ツリーが特定の数のノードの後に挿入されない
class Node:
def __init__(self, data):
self.left = None
self.right = None
self.data = data
def insert(self, data):
if self.data is None:
self.data = data
else:
if (data < self.data):
if self.left is None:
self.left = Node(data)
else:
self.left.insert(data)
elif (data > self.data):
if self.right is None:
self.right = Node(data)
else:
self.data.insert(data)
及びIは、次の入力を
root = Node(8)
root.insert(3)
root.insert(10)
root.insert(1)
root.insert(6)
root.insert(5)
を与えたが、それはroot.insert(6)の後にエラーをスロー。
Traceback (most recent call last):
File "C:\Users\\Desktop\BST.py", line 45, in <module>
root.insert(5)
File "C:\Users\\Desktop\BST.py", line 15, in insert
self.left.insert(data)
File "C:\Users\\Desktop\BST.py", line 20, in insert
self.data.insert(data)
AttributeError: 'int' object has no attribute 'insert'
他の数字も試しましたが、まだエラーが表示されます。誰かが私にそれの理由を与えることができますか?どんな助けもありがとうございます。ありがとう。
であなたの
self.data.insert(data)
(ライン20)を交換し、あなたの 'self.data.insert(データ)を交換' 'self.right.insert(データ)と' – Oswaldはどうもありがとうございました。それが問題を解決しました。 –