欢迎光临散文网 会员登陆 & 注册

九章算法面试软技能指导-面试技巧/BQ/Resume/Project

2022-09-26 22:33 作者:al_sa  | 我要投稿

选择排序算法

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

  • 时间复杂度:min = O(n),max =O(n^2);

  • 算法稳定性:不稳定;(不稳定的原因举例:5 5 3  变为 3 5 5,第一趟排序,第一个5会和3的位置互换,从而破坏该算法的稳定性)

  • 算法实现:(升序排序



九章算法面试软技能指导-面试技巧/BQ/Resume/Project的评论 (共 条)

分享到微博请遵守国家法律