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) 

나는 다음 입력을
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)를 교체 (데이터)' – Oswald

+0

대단히 감사합니다. 문제를 해결했습니다. –

답변

0

self.right.insert`와`self.data.insert (데이터)`대체 self.right.insert(data)

관련 문제