BST分析:随机BST期望高度为Θ(lgn)证明

普通版本

BST_Sort(A):
T <- φ
for i <- 1 to n
	Tree_Insert(A[i],T)
Inorder_Tree_Search()

与快速排序是失散多年的兄弟
在这里插入图片描述
此处更新中


随机版本

BST的上的操作和树的高度有很大关系,上面的普通版本构造树假如是n个结点一棵完全二叉树,这些操作最坏的运行时间为Θ(lgn),而一旦这n个结点是一条线性链,那么同样得操作需要Θ(n)的最坏运行时间,而下面的随机构造的BST的期望高度为O(lgn)【下面证明】,因此基本操作的平均运行时间为Θ(lgn),这就是为什么需要构造随机BST

Random_BST_Sort(A):
	均匀随机打乱A
	BST_Sort(A):

在这里随机选取一个根节点,而快速排序随机选择随机pivot

所以他们最好最坏期望的运行时间都一样,

证明BST的期望高度为O(lgn)

在这里插入图片描述

Jenson不等式就不证明了,只证明②
在这里插入图片描述


发布了124 篇原创文章 · 获赞 92 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/qq_42146775/article/details/102983081
BST
今日推荐