最小值和第二小值

这个问题来自算法导论的习题9.1-1.问题是这样的:

证明:在最坏情况下,利用n+[lgn]-2次比较,即可找到n个元素中的第二小元素。

证明:构造出这种比较方法就可以了。看见lgn就应该想到配对。实际上,将n个元素两两分组进行比较,选取每次比较中的较小元素,这样一来,可以一直做下去直到得到最小元素,这需要n-1次比较。将想原来做到的淘汰赛问题,一场比赛淘汰一支球队,一共就需要n-1场比赛决出冠军。接下来,次小的元素肯定是和最小元素比较过的,回溯与最小元素比较过的元素,最坏情况下需要二叉树的高度这么多次,所以还需要[lgn]-1次比较。所以总共需要n+[lgn]-2次比较。

转载于:https://www.cnblogs.com/bovine/archive/2011/09/27/2192709.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值