| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
共有 357 人关注过本帖
标题:1.帮我证明单向选择排序的Min/Max最大赋值次数公式是对的,2.求根据不同数组 ...
只看楼主 加入收藏
yiyanxiyin
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:9
帖 子:329
专家分:2314
注 册:2023-6-29
收藏
得分:0 
证明题只要你能说服人, 不管用什么方法都行, 你动脑筋想想:
外层第一次循环,内层a[Select] > a[Traverse]最多比较N-1次, 假设每次都是前一个数大, 那么Select赋值次数为最多, 就是N-1次(不可能比这个数更大了),  
外层第二次循环,内层a[Select] > a[Traverse]最多比较N-4次, 但是不是每次都是前一个数大,因为肯定最大的数在其中 , 也就是至少存在一次a[Select] <= a[Traverse], 那么Select赋值次数最多是N-3次(不可能比这个数更大了),  
外层第三次循环,内层a[Select] > a[Traverse]最多比较N-3次, 但是不是每次都是前一个数大,因为肯定有两个最大的数在其中 , 也就是至少存在两次a[Select] <= a[Traverse], 那么Select赋值次数最多是N-5次(不可能比这个数更大了),  
.....

Select总赋值次数N-1 +N-3 + N-5.....,  这还不明显吗

[此贴子已经被作者于2025-12-2 10:11编辑过]

4 小时前
快速回复:1.帮我证明单向选择排序的Min/Max最大赋值次数公式是对的,2.求根据不同 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017172 second(s), 10 queries.
Copyright©2004-2025, BC-CN.NET, All Rights Reserved