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' 

他の数字も試しましたが、まだエラーが表示されます。誰かが私にそれの理由を与えることができますか?どんな助けもありがとうございます。ありがとう。

+0

であなたのself.data.insert(data)(ライン20)を交換し、あなたの 'self.data.insert(データ)を交換' 'self.right.insert(データ)と' – Oswald

+0

はどうもありがとうございました。それが問題を解決しました。 –

答えて

0

self.right.insert(data)

関連する問題