• 简单选择排序


    选择排序

    选择排序(selection sort)的基本思想是,每一趟在n-i+1(i = 1,2,...,n-1)个记录中选取关键字最小的记录作为有序序列中第i个记录。

    在选择排序中最简单的是简单选择排序。

    简单选择排序

    算法思想:

    1.一趟简单选择排序的操作为:通过n-i 次关键字间的比较,从n-i+1个记录中选出关键字最小的记录,和第i(1<= i <=n)个记录交换之;

    1 PROC smp_selecpass(VAR r:listtype;i:interger)
    2 {本算法在r[1..n]的记录中选择关键字最小的记录,并和r[i]相交换}
    3   k:=i;
    4   FOR j:=i+1 TO n DO
    5       IF r[j].key < r[k].key THEN k:=j;{k指关键字最小的元素}
    6   IF  k!= i THEN r[i]<->r[k] ;
    7 END ; {smp_selecpass}

    2.令i从1至n-1,调用n-1次算法smp_selecpass即可。

    时间复杂度:

    无论记录的初始排列如何,所需进行的关键字的比较次数相同,同为n(n-1)/2。因此,总的时间复杂度也是O(n2).

  • 相关阅读:
    判断两个对象是否相同
    参数的修饰符
    异常处理
    类型转换
    值类型和引用类型
    抽象方法实现计算器
    静态
    多态
    访问修饰符
    面向对象三大特性
  • 原文地址:https://www.cnblogs.com/xjtuchenpeng/p/4895833.html
Copyright © 2020-2023  润新知