排序算法—选择排序算法分析与实现(Python)
来源:互联网 发布:对p2p网络借贷的看法 编辑:程序博客网 时间:2024/03/29 14:45
December 23, 2015 12:31 PM
思想
选择排序的思想非常直接,不是要排序么?那好,我就从所有序列中先找到最小的,然后放到第一个位置。之后再看剩余元素中最小的,放到第二个位置……以此类推,就可以完成整个的排序工作了。可以很清楚的发现,选择排序是固定位置,找元素。相比于插入排序的固定元素找位置,是两种思维方式。不过条条大路通罗马,两者的目的是一样的。
简单排序处理流程:
( 1 )从待排序序列中,找到关键字最小的元素;
( 2 )如果最小元素不是待排序序列的第一个元素,将其和第一个元素互换;
( 3 )从余下的 N - 1 个元素中,找出关键字最小的元素,重复( 1 )、( 2 )步,直到排序结束。
#SeleteSort.py#王渊#2015.12.21#Email:wyxidian@gmail.comfrom pylab import *def SeleteSort(data): length = data.__len__() #获取数据长度 idx = True #标记依次遍历是否有数据交换,如果没有,排序完成 for i in range(length): idx = i for j in range(i,length): if(data[j]<data[idx]): #如果当前值小于下一个值,记录索引 idx = j data[i],data[idx] = data[idx],data[i] #交换顺序,一次交换 return datadata = array([48,1,16,62,73,88,24,59,99,0,35])print("The original data is : ", data)data = SeleteSort(data)print("The result of sorted data is : ", data)
运行结果:
The original data is : [48 1 16 62 73 88 24 59 99 0 35]The result of sorted data is : [ 0 1 16 24 35 48 59 62 73 88 99]
2 0
- 排序算法—选择排序算法分析与实现(Python)
- 排序算法—冒泡排序算法分析与实现(Python)
- 排序算法—希尔排序算法分析与实现(Python)
- 排序算法—堆排序算法分析与实现(Python)
- 排序算法—归并排序算法分析与实现(Python)
- 排序算法—快速排序算法分析与实现(Python)
- 排序算法—直接插入排序算法分析与实现(Python)
- 选择排序算法分析
- Python选择排序算法
- Python排序算法-选择排序
- 排序算法-选择排序(python)
- 排序算法总结(简单选择排序、堆排序)(python实现)
- python算法--置换选择排序详细实现
- 选择排序算法(python实现)
- 实现选择排序算法
- 实现选择排序算法
- 选择排序算法实现
- python数据结构与算法 31 选择排序
- -bash: netstat: command not found
- Introduction to Chain Codes 链码导论
- online_judge_1140
- Diffy使用过程问题总结
- 机房收费系统安装过程
- 排序算法—选择排序算法分析与实现(Python)
- Android Studio你不知道的调试技巧
- ehcache缓存的使用
- GlassFish WELD IllegalStateException
- sqllite3命令行下的常用命令及接口
- Chain Codes and Your Brain 链码和大脑
- Mac上安装NDK
- SpringMVC + Spring + MyBatis 学习笔记:提交数据遭遇日期格式转化报400错误解决方法
- EditText怎么把下面的按钮一并推上去