def __init__(self, data):
self.data = data
self.left=None
self.right= None
class binoryTree:
maxi=float('inf')
mini=-float('inf')
def __init__(self):
self.root=None
def insert(self,root,data):
if self.root is None:
self.root=Node(data)
print("root data values %s", self.root.data)
else:
print("root data values %s", self.root.data)
if self.root.data>data:
**if self.root.left is None:
self.root.left = Node(data)**
else:
self.insert(self.root.left,data)
else:
if self.root.right is None:
self.root.right = Node(data)
else:
self.insert(self.root.right,data)
def print_tree(self,root):
if root is None:
return
self.print_tree(root.left)
print("%d",root.data)
print("----------")
self.print_tree(root.right)
def is_bst(self, root, mini, maxi):
if root is None:
return 0
if root.data <mini and root.data > maxi:
return 0
return self.is_bst(root.left,mini,root.data) and self.is_bst(root.right,root.data, maxi)
t= binoryTree()
t.insert(t.root,50)
t.insert(t.root,4)
t.insert(t.root,1)
t.insert(t.root,8)
t.insert(t.root,100)
t.print_tree(t.root)
无法识别插入功能中的问题。无法理解为什么在插入第一个节点后无法进入粗体部分代码。
[preeti@oc1238606604 数据结构]
$ /usr/bin/env /usr/bin/python3 /home/preeti/.vscode/extensions/ms-python.python-2020.11.371526539/pythonFiles/lib/python/debugpy/launcher 41717 -- /home/preeti/桌面/code_playground/data_structures/isBst.py
根数据值 %s 50 个根数据值 %s 50 个根数据值 %s 50 个根数据值 %s 50 个根数据值 %s 50 个根数据值 %s 50 个根数据值 %s 50
递归超过错误,因为它一次又一次地调用插入。