首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

Binary Search Trees(BST)

BST的性质 BST的形状为 image.png 每个BST中的节点x,存在一个key,一个指向父节点的parent指针,同时还有一个左子树和右子树 root的parent不存在 左子树值y与父节点...image.png 插入第三个元素17,比30要小,置为它的左节点 image.png 然后是20,比30小,找到做子树,左子树的节点值为17,再次比较 image.png 最后一次元素再次插入,得到最终的BST...<= z.key: y.right = z else: y.left = z 复制代码 它的耗时为O(lgn) 找到后继节点 后继节点即从值上来讲,找到比要找的元素要大最接近的值,根据BST...=None: x = x.left return x 复制代码 删除节点 节点删除之后,必须要维持原有的BST性质 image.png 删除节点13,它一个子节点都没有,直接删除即可 image.png...None: # node.left 一定存在,只需要替换节点之间的指针 return self.transplant(node,node.left) else: # 左子树和右子树都有,要维持BST

35530
领券