# encoding: utf-8 class Node: def __init__(self, data): self.data = data self.lchild = None self.rchild = None class BST: def __init__(self, node_lists): self.root = Node(node_lists[0]) for data in node_lists[1:]: self.insert(data) # 搜索 def search(self, node, parent, data): if node is None: return False, node, parent if node.data == data: return True, node, parent if node.data > data: return self.search(node.lchild, node, data) else: return self.search(node.rchild, node, data) # 插入 def insert(self, data): flag, n, p = self.search(self.root, self.root, data) if not flag: add_node = Node(data) if data > p.data: p.rchild = add_node else: p.lchild = add_node node = [ 38, 65, 108, 60, 76] bst = BST(node) # 创建二叉查找树
Python 实现二叉搜索树插入
最新推荐文章于 2024-03-17 15:43:58 发布