博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
简单选择排序
阅读量:6111 次
发布时间:2019-06-21

本文共 573 字,大约阅读时间需要 1 分钟。

选择排序

选择排序(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 DO5       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

你可能感兴趣的文章
DBA_Oracle DBA常用表汇总(概念)
查看>>
第30周二
查看>>
数学类杂志SCI2013-2014影响因子
查看>>
实用的树形菜单控件tree
查看>>
最近公共祖先(lca)
查看>>
【WP 8.1开发】文件选取器的使用方法
查看>>
Java实现BASE64编解码
查看>>
【Java】java基本知识
查看>>
之前学习wordpress的几张图片
查看>>
RT-Thread下的串口驱动程序分析【转载】
查看>>
UITableView的UITableViewStyleGrouped
查看>>
ecshop中getAll ,getOne ,getRow的区别
查看>>
Apple 企业开发者账号申请记录
查看>>
ecshop后台权限增加
查看>>
C#装饰者模式实例代码
查看>>
ASP.NET MVC显示异常信息
查看>>
第 9 章 MySQL数据库Schema设计的性能优化
查看>>
前nginx后Apache+Node反向代理
查看>>
Web前端开发十日谈
查看>>
关于jsp页面乱码写得好的一篇文章
查看>>