当前位置: 首页 > news >正文

技术支持网站西安网站建设维护

技术支持网站,西安网站建设维护,美容 网站源码,网站做访问追踪直接插入排序(Selection Sort)算法 1.基本思想: 选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置&#xf…

直接插入排序(Selection Sort)算法

1.基本思想:

       选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。 选择排序是不稳定的排序方法(比如序列[5, 5, 3]第一次就将第一个[5]与[3]交换,导致第一个5挪动到第二个5后面)。


       n个记录的文件的直接选择排序可经过n-1趟直接选择排序得到有序结果:
              ①初始状态:无序区为R[1..n],有序区为空。
              ②第1趟排序
                     在无序区R[1..n]中选出关键字最小的记录R[k],将它与无序区的第1个记录R[1]交换,使R[1..1]和R[2..n]分别变为记录  
                     个数增加1个的新有序区和记录个数减少1个的新无序区。
                     ……
              ③第i趟排序
                     第i趟排序开始时,当前有序区和无序区分别为R[1..i-1]和R(i..n)。该趟排序从当前无序区中选出关键字最小的记录                      R[k], 将它与无序区的第1个记录R交换,使R[1..i]和R分别变为记录个数增加1个的新有序区和记录个数减少1个的新无
                    
序区。


         基本方法

                     1. 算法完成需要 n - 1 趟排序,按照算法的描述,n - 1 趟排序之后数组中的前 n - 1 个元素已经处于相应的位置,第 n                      个元素也处于相应的位置上。

                     2. 第 i 趟排序,实际上就是需要将数组中第 i 个元素放置到数组的合适位置,这里需要一个临时变量 j 来遍历序列中未

                     排好序的那些元素,另一临时变量 d 来记录未排好序的那些元素中值最小的元素的下标值,

                     3. 一趟遍历开始时,令 d = i,假定未排序序列的第一个元素就是最小的元素,遍历完成后,变量 d 所对应的值就是值

                     最小的元素,判断 d 是否是未排序序列的第一个元素,如果是,则不需要交换元素,如果不是,则需要交换array[d] 和

                     array[i]。

                     4. 此方法是不稳定排序算法,可对数组{a1 = 49,a2 = 38, a3 = 65, a4 = 49, a5 = 12, a6 = 42} 排序就可以看出,排序

                     完成后 a1 和 a4的相对位置改变了。

                     5. 此方法移动元素的次数比较少,但是不管序列中元素初始排列状态如何,第 i 趟排序都需要进行 n - i 次元素之间的

                     比较,因此总的比较次数为1 + 2 + 3 + 4 +5 + . . . + n - 1 = n(n-1)/2, 时间复杂度是 O(n^2).

2.时间复杂度
                

3.模拟动画

http://v.youku.com/v_show/id_XMjU4NTY5NTcy.html

4.Java 代码:

// 简单选择排序算法public static void selectSort(int a[]) {for (int i = 0; i < a.length; i++) {int min = a[i];int n = i;// 最小数的索引for (int j = i + 1; j < a.length; j++) {if (a[j] < min) {// 找出最小的数min = a[j];n = j;}}a[n] = a[i];a[i] = min;}}


http://www.hkea.cn/news/5378/

相关文章:

  • 导航网站制作 zhihu龙岩seo
  • php商务网站开发百度手机助手免费下载
  • 北京营销型网站建设培训广州优化防控措施
  • 在线简历制作搜索引擎优化解释
  • 北京延庆城乡建设部网站首页软文推广一般发布在哪些平台
  • 衡水安徽网站建设品牌宣传策划公司
  • notepad做网站网络营销的种类
  • wordpress本地播放器优化的概念
  • 外贸网站自我建设与优化网络优化软件
  • 常州做网站的公司济南优化网站关键词
  • 网页建站点win优化大师官网
  • 全国优秀施工企业查询泉州关键词优化报价
  • 华强南网站建设百度推广优化排名怎么收费
  • 做网站有意思吗搜索引擎排名优化建议
  • 南京网络营销徐州seo建站
  • 摄像机怎么在自己家网站做直播开发一款app软件需要多少钱
  • 域名抢注网站源码企业网站定制开发
  • wordpress 多站点 无法访问北京seo优化公司
  • 青岛企业网站建站模板做网站怎么赚钱
  • 广东一站式网站建设报价引流软件
  • 视频网站制作费用网络优化工程师骗局
  • 网站建设的工期拖延如何解决怎么搜索网站
  • 邯郸企业网站建设报价台州seo排名外包
  • 兴义做网站自媒体服务平台
  • 网站页面下沉的特效代码推广普通话手抄报句子
  • 网站的主题有哪些电商怎么做如何从零开始
  • 学做缝纫的网站如何创建个人网站免费
  • 何为网站开发天天广告联盟
  • wordpress主题错误windows10优化大师
  • 东莞市外贸网站建设企业青岛seo外包公司