算法 —— 选择排序

原创 2015年08月27日 14:53:49
    原理: 选择排序和直接插入排序有些类似。都是有一个有序序列和无序序列。
               区别在于: 选择排序是将无序区的最小值放到有序区的最后,插入排序则是将无序区的第一个值插入到有序区间当中。
 
1、假设整个数组的大小为n,从a[0 ~ i - 1]为有序区间,a[i ~ n-1 ]为无序区间
2、比较a[i ~ n-1]的所有元素,找出最小的元素,将其与a[i]交换,这样在a[0 ~ i]之间就形成了有序区间。
3、i++,重复第二步,直到 i = n - 1

代码:
               int i,j;
   
int m = n;
   
for (i = 0; i < n - 1 ; i ++) {
        m = i;
       
for (j = i + 1 ; j < n  ; j ++) {
           
if (a[m] > a[j]) {
                m = j;
            }
        }
       
       
if (m != i ) {
           
int temp = a[m];
            a[m] = a[i];
            a[i] = temp;
        }
    }

选择排序的几种算法

选择排序的基本思想是:每趟从n-i+1(i=1,2,…,n-1)个记录中选取关键字最小的记录作为有序序列中第i个元素。 简单选择排序void SelectSort(Elem R[],int n){...
  • sch20095100
  • sch20095100
  • 2015年07月21日 17:18
  • 882

算法效率的分析--【以选择排序与冒泡排序为基础】

在前面我们实现了选择排序与冒泡排序的具体实现,现在我们从数学的角度分析下算法的效率问题:               首先我们把两种排序算法的概念重温一遍: 选择排序:在每一轮中,找出最小的元素放在他...
  • Toplifeww
  • Toplifeww
  • 2015年02月02日 19:44
  • 1620

选择排序(Java语言实现)

package com.shan.selectionSort;/** * * @author shan *选择排序:假设要按升序排列一个数列, *选择排序先找到数列中最小的数,然后将它放到数...
  • stuShan
  • stuShan
  • 2015年10月14日 23:27
  • 724

《数据结构--排序》之选择排序

1.序 选择排序(selection sort)的基本思想是:每一趟在序列 sq[1],sq[2],...,sq[length]中选取关键字最大的记录作为序列最后一个记录,然后再从剩下的记录...
  • zhccl
  • zhccl
  • 2012年09月09日 20:04
  • 3253

C++简单排序算法之选择排序

选择排序的基本思想是:每一趟在n-i+1(i=1,2,…n-1)个记录中选取关键字最小的记录作为有序序列中第i个记录。基于此思想的算法主要有简单选择排序、树型选择排序和堆排序。 简单选择排序的基本思...
  • zhengjuexi4456
  • zhengjuexi4456
  • 2016年09月08日 22:52
  • 644

“深入理解”—选择排序算法

选择排序算法有两种:直接选择排序和堆排序
  • qq_25827845
  • qq_25827845
  • 2016年07月10日 11:37
  • 2093

排序算法Java实现——选择排序(直接选择排序)

基本思想:n个记录的文件的直接选择排序可经过n-1趟直接选择排序得到有序结果 第一次比较:程序将记录定位在数组的第一个位置,拿第一个数据与后面的每个数据对比,用一个变量mix记录比第一个数小的数据的索...
  • singit
  • singit
  • 2017年04月22日 22:30
  • 577

算法(第四版)学习笔记之java实现选择排序

选择排序步骤: 1.找到数组中参与遍历比较的所有元素中的最小元素的下标; 2.将最小元素与数组中参与遍历比较的第一个元素进行交换(如果第一个元素就是最小元素的话,那么也会进行一次交换); 3.若...
  • l243225530
  • l243225530
  • 2015年07月22日 16:02
  • 690

八大排序算法之选择排序

选择排序—简单选择排序(Simple Selection Sort)
  • ye_scofield
  • ye_scofield
  • 2014年09月16日 10:10
  • 8721

数据结构排序系列详解之六 树形选择排序

这篇博客接着来说说选择类排序之一的排序:树形选择排序 在简单选择排序中,每次的比较都没有用到上次比较的结果,所以比较操作的时间复杂度是O(N^2),想要降低比较的次数,则需要把比较过程中的大小关系保存...
  • S04103037
  • S04103037
  • 2013年07月30日 11:39
  • 2352
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:算法 —— 选择排序
举报原因:
原因补充:

(最多只允许输入30个字)