选择排序法证明
来源:互联网 发布:翁达杰 知乎 编辑:程序博客网 时间:2024/04/30 05:33
选择排序法证明
问题重述:
有n个数(n≥2)a1, a2, …, an,从i = 1到n - 1共经历n - 1次循环,对于每一次循环i,将ai+1,…,an依次和ai作比较。对于每一次比较(ai, aj) ,其中j = i + 1, …, n,
若ai≥aj,ai, aj保持不变;
若ai < aj,则ai, aj互换位置。
则最后这n个数将降序排列。
证明:
对于每一次“比较”操作。若ai ≥ aj,ai, aj保持不变,于是ai ≥ aj;若ai < aj,则ai, aj互换位置,于是ai > aj。因此经过一次“比较”操作后恒有ai ≥ aj。下面直接引用此结论。
对于每一次以下标i开始的循环,对j - i作数学归纳法。
进行了第j – i = 1次比较后,由上面结论知,ai ≥ aj。所以ai是ai, …, aj中最大的数。
假设当j – i = k 时“ai是ai, …, aj中最大的数”成立。则当j – i = k + 1时,
由上面结论知,ai ≥ aj,于是aj不超过ai--根据假设即ai, …, aj-1中最大的数。于是ai, …, aj-1中最大的数ai仍是ai, …, aj中最大的数。
由数学归纳法原理可知。ai是ai, …, an中最大的数。
完成排序后,由刚才对i的讨论的任意性可知a1 = max(a1, …, an), a2 = max(a2, …, an), …, an-1 = max(an-1, an)。
因为max(a1, …, an) ≥ max(a2, …, an) ≥ ... ≥ max(an-1, an),≥ an
所以a1 ≥ a2 ≥ ... ≥ an。
证毕。#
---------------------
紫数 2009-06-25于上海大学
- 选择排序法证明
- 冒泡排序法证明
- 常用排序-选择法排序
- 常见排序-选择法排序
- 排序算法--选择排序法
- 按选择排序法排序。
- 排序模板 选择法排序
- 排序算法--选择排序法
- 排序之选择排序法
- 选择排序法法
- 排序:选择法
- 选择排序法
- 选择法排序
- 选择排序法
- 选择排序法
- 选择排序法
- 选择排序法
- 选择排序法
- 如何写出高效优美的C语言代码
- 谷歌Gmail,谷歌阅读器等6月24晚9:00无法访问
- 什么是Servlet以及Servlet的生命周期
- 跳转页面asp.net提供的三种方法比较
- 人月神话--人月神话学习笔记(一)
- 选择排序法证明
- windows2003的IIS详细设置方法
- 系统蓝屏代码全集解决方法
- 李阳英语365句文本资料
- Programming Paradigms in Test Automation
- QTP Tips 2 - QTP速查卡片
- 股沟文档这两天怎么了?
- XP关机选项下显示休眠按钮
- 昨天的bug