标题: 悬赏500通宝的数学题目
性别:男-离线 周瑜

栎阳侯谏议大夫

Rank: 16
组别 翰林学士
级别 征西将军
好贴 10
功绩 943
帖子 4716
编号 1808
注册 2003-11-3
家族 瓦岗寨


发表于 2004-10-18 23:23 资料 主页 文集 短消息 看全部作者
大汗,既然知道是降序排列了还装模做样用冒泡法来比一次做什么啊?
算了一下,应该是m(n-m)次。


顶部
性别:男-离线 周瑜

栎阳侯谏议大夫

Rank: 16
组别 翰林学士
级别 征西将军
好贴 10
功绩 943
帖子 4716
编号 1808
注册 2003-11-3
家族 瓦岗寨


发表于 2004-10-19 15:31 资料 主页 文集 短消息 看全部作者
根据重阳的二分法,算出n里面选出m个共需要比较的次数:
令p=[logm],log以2为底,[]为向上取整。
若n<2m,则令m=n-m,以保证n>2m
(mp+1-2^p)+(n-2m)(p+1)+(mp+m+1-2^p)
三部分意义分别是
1.二分插入法对m个元素排序
2.将n-2m个元素二分插入序列,并淘汰,剩下m个
3.将剩下m个元素二分插入m序列,同时注意不需与较优的元素进行比较的情况。

由此可知8选4只需要比较14次

QUOTE:
原帖由重阳于2004-10-19, 13:20:11发表
第4、5、6次把第四个排进去,按优劣顺序重新定名为一二三四号;

这里只需要比较2次即可。


顶部
性别:男-离线 周瑜

栎阳侯谏议大夫

Rank: 16
组别 翰林学士
级别 征西将军
好贴 10
功绩 943
帖子 4716
编号 1808
注册 2003-11-3
家族 瓦岗寨


发表于 2004-10-19 22:56 资料 主页 文集 短消息 看全部作者
看来是我定义向上取整有误,如果此处定义为向下取整,就能直接用
此处q=[logm]........................[]向下取整
或者q=[log((m+1)/2)]............[]向上取整
q代替中间一项中p的位置,前后两项的p不变,仍是向上取整的,q只用于中间一项。
顶部

正在浏览此帖的会员 - 共 3 人在线




当前时区 GMT+8, 现在时间是 2024-12-4 17:11
京ICP备2023018092号 轩辕春秋 2003-2023 www.xycq.org.cn

Powered by Discuz! 5.0.0 2001-2006 Comsenz Inc.
Processed in 0.009349 second(s), 9 queries , Gzip enabled

清除 Cookies - 联系我们 - 轩辕春秋 - Archiver - WAP