思考题10-3搜索已排序的紧凑链表

这篇博客探讨了在已排序的紧凑链表中进行搜索的算法S和S'。S算法在找到目标值k时返回其位置,S'算法则涉及到for循环和while循环的组合使用。文章分析了两种算法的运行情况,特别是S'的运行时间,并讨论了在不同情况下找到目标值的期望时间。最后,博客指出S'期望运行时间最小时与S算法的期望相同。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

COMPACT_LIST_SEARCH简称为S,COMPACT_LIST_SEARCH'简称为S'

a、设COMPACT_LIST_SEARCH(以下简称S)和COMPACT_LIST_SEARCH'(以下简称S')循环中第t次j值为jt,S中While循环t次结束,可能情况为:

1.key[jt]=k,返回jt,在S'同样返回jt;

       2、S中,key[jt]<k,i=next[jt],key[i]>=k,若key[i]>k,返回nil,若key[i]=k,返回next[jt];S'中,for循环结束时i=jt,while循环执行一次,i=next[jt],key[i]>=k,同S,若key[i]>k,返回nil,若key[i]=k.

b、S'的运行时间为t次for循环迭代次数,加上while循环次数(t次for循环迭代后i与k的距离),所以,T'=t+Xt

   E(T')=t+E(Xt)=O(t+E(Xt))

c、

如图,k为第i小元素时(i=1,...,n),若t次循环后Xt=X,即下标位置距离k为x,那么须在t次选择中不选i-x+1到i的x个元素,概率为,在除前面的X个元素外剩余n-X元素中至少一次选择i-X,概率为[1-(1-1/(n-x))^t]

所以,Xt=X的概率为


由公式C.25,


得证。

d.


e、

f、S'期望运行时间


g、S'期望取最小时,等于S期望







评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值