python排序算法的实现-选择
2024-10-19 03:27:41
1.算法:
对于一组关键字{K1,K2,…,Kn}, 首先从K1,K2,…,Kn中选择最小值,假如它是 Kz,则将Kz与 K1对换;
然后从K2,K3,… ,Kn中选择最小值 Kz,再将Kz与K2对换。
如此进行选择和调换n-2趟,第(n-1)趟,从Kn-1、Kn中选择最小值 Kz将Kz与Kn-1对换,最后剩下的就是该序列中的最大值,一个由小到大的有序序列就这样形成。
2.python 代码:
def selection_sort(list2):
for i in range(0, len (list2)):
min = i
for j in range(i + 1, len(list2)):
if list2[j] < list2[min]:
min = j
list2[i], list2[min] = list2[min], list2[i] # swap
结果为:[2, 3, 4, 21, 33, 44, 45, 67]
3. 时间复杂度 O(n*n)
最新文章
- [深度学习大讲堂]从NNVM看2016年深度学习框架发展趋势
- 计时器StopWatch示例
- avalonjs
- Android自定义对话框(Dialog)位置,大小
- webkit事件处理
- 说说 PWA 和微信小程序--Progressive Web App
- BZOJ 2442 修剪草坪
- CodeForces 602E【概率DP】【树状数组优化】
- YII内置验证规则
- CentOS安装VMware Tools
- Asp.Net中文本换行
- C++学习笔记(十二):类继承、虚函数、纯虚函数、抽象类和嵌套类
- jQuery学习教程(2)
- CocoStudio学习资源
- 大战Java虚拟机【3】—— 类加载机制
- SQL c# 程序报错:未在本地计算机上注册“Microsoft.Jet.OLEDB.4.0”提供程序
- DirectX11 With Windows SDK--11 混合状态与光栅化状态
- testNG安装一直失败解决方法
- sh: /etc/init.d/sshd: not found Docker中的Alpine镜像安装sshd无法启动
- Spark快速获得CrossValidator的最佳模型参数