python算法与数据结构-选择排序算法
代码如下所示:
# 定义选择排序函数
def select_sort(list):# 计算需要排序的列表元素个数n = len(list)# 需要n-1次选择操作for j in range(n - 1): #需要多少次操作,比实际的n的个数少一次,因为最后一个数就不用当做记录最小值了# 记录最小值的下标min_index = j# 未排序区域从j+1到末尾n处,属于未排序区,在未排序区在选出最小值处for i in range(j + 1, n):# 比较大小if list[min_index] > list[i]:# 交换temp = list[min_index]list[min_index] = list[i]list[i] = tempif __name__ == "__main__":li = [54, 26, 93, 17, 77, 31, 44, 55, 20]print(li)select_sort(li)print(li)
参考资料:网上的教程
python算法与数据结构-选择排序算法相关推荐
- python算法与数据结构-选择排序算法(33)
阅读目录 一.选择排序的介绍 二.选择排序的原理 三.选择排序的图解 四.选择排序总结 五.选择排序的python代码实现 六.选择排序的C语言代码实现 七.选择排序的时间复杂度 八.选择排序的稳定性 ...
- 排序算法:简单选择排序算法实现及分析
简单选择排序算法介绍 简单选择排序(Simple Selection Sort)就是通过n-1次关键字排序之间的比较,从n-i+1个记录中选择关键字最小的记录,并和第i(1<=i<=n)记 ...
- 排序算法系列:选择排序算法
概述 这是一个相对简单的排序算法.为什么这么说呢?因为不需要什么思考,你就可以掌握并使用它. 版权说明 著作权归作者所有. 商业转载请联系作者获得授权,非商业转载请注明出处. 本文作者:Q-WHai ...
- python基础:冒泡和选择排序算法实现
冒泡排序和选择排序 首先引用一下百度百科对于冒泡算法的定义: 冒泡排序算法的原理如下: 比较相邻的元素.如果第一个比第二个大,就交换他们两个. 对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一 ...
- python算法与数据结构-希尔排序算法(35)
阅读目录 一.希尔排序的介绍 二.希尔排序的原理 三.希尔排序的图解 四.希尔排序的python代码实现 五.希尔排序的C语言实现 六.希尔排序的时间复杂度 七.希尔排序的稳定性 一.希尔排序的介绍 ...
- python算法与数据结构-希尔排序算法
希尔排序(shell sort)是插入排序的一种,也称缩小增量排序,与普通的插入算法的区别就是gap步长. 希尔排序内层循环逻辑如下所示: 上面的可以分为4组,一个一个的按照插入算法来做,第一组有54 ...
- php和python的选择排序算法,图文讲解选择排序算法的原理及在Python中的实现
def sort_choice(numbers, max_to_min=True): """ 我这没有按照标准的选择排序,假设列表长度为n,思路如下: 1.获取最大值x, ...
- 算法与数据结构(排序算法概述)
排序算法 Sort Algorithm 排序算法是将一系列数据根据指定的顺序进行排列的过程 排序算法的分类: 内部排序:指将需要处理的所有数据都加载到内存中进行排序 插入排序 直接插入排序 希尔排序 ...
- 算法系列之选择排序算法
排序算法的中心思想就是每次从待排序的数组中获取一个最小值或者最大值,将每次获取的最大值或者最小值放到新的数组中形成一个有序列表. 具体做法是:1 先将数组中的第一位假设成最小值min,拿它与数组中的其 ...
最新文章
- html在页面上div绝对定位,html – 中心浮动div在绝对定位div内
- 冬至日,诚邀你来杭州网易,一起吃着饺子畅聊「B2B增长」
- CG CTF WEB 签到2
- 【Python】求多个字符串的最长公共前缀
- About Gnu Linker2
- svn打分支与分支合并回主干
- java多线程总结二(转)
- SVN报错 could not connect to server
- 梯度下降优化算法综述
- DBSCAN聚类算法实用案例
- 嵌入式的苦逼从何而来
- 进阶篇:4)面向装配的设计DFA总章
- 以太网交换机的用途有哪些?
- CAD中插入外部参照字体会变繁体_CAD绘图外部参照的使用方法
- OpenCV+Mediapipe手势动作捕捉与Unity引擎的结合
- IBM裁员1700人不可怕,可怕的是裁员带来的恐慌!
- 自动驾驶商业化终露苗头,谷歌与百度谁率先改写估值?
- 世界需要简化第二篇:最简单易懂的BPNN算法——算法经高度简化,所有下标均仔细核对
- python pip安装报错_Python pip安装失败:无效命令egg_info
- 企业在采集用户个人信息时需要主要哪些合规要求
热门文章
- C语言编写2048小游戏
- android 帐户管理,Android开发之帐户管理
- 08_clickhouse主键/索引的工作机制(MergeTree的稀疏索引、索引的生成过程、索引的查询),数据标记的工作机制(数据存储、数据标记、数据查询、数据查询示例)(学习笔记)
- 4.windows环境下如何安装memcached教程(转载+自己整理)
- 3进程状态getrlimit()函数和setrlimit()函数
- DispatcherServlet的用途
- android 文件读取错误,Android源文件从SD卡读取错误问题,怎么处理
- lamber表达式sql_lambda表达式转换sql
- 信号量、互斥体和自旋锁
- 关于Qt的三种协议以及是否收费