Python实现选择排序
作者:TingShuo 发布时间:2021-06-17 03:23:40
标签:Python,选择排序
选择排序:
选择排序(Selection sort)是一种简单直观的 排序算法 。它的工作原理如下。首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。 选择排序的主要优点与数据移动有关。如果某个元素位于正确的最终位置上,则它不会被移动。选择排序每次交换一对元素,它们当中至少有一个将被移到其最终位置上,因此对n个元素的表进行排序总共进行至多n-1次交换。在所有的完全依靠交换去移动元素的排序方法中,选择排序属于非常好的一种。
Python 实现:
# selection_sort.py
def selection_sort(arr):
count = len(arr)
for i in range(count-1): # 交换 n-1 次
min = i
# 找最小数
for j in range(i, count):
if arr[min] > arr[j]:
min = j
arr[min], arr[i] = arr[i], arr[min] # 交换
return arr
my_list = [6, 23, 2, 54, 12, 6, 8, 100]
print(selection_sort(my_list))
来源:http://www.cnblogs.com/tingshuo123/p/6935445.html


猜你喜欢
- eclare @str nvarchar(50);set @str='462,464,2';select @str as &
- 1. 定时器使用不当1.1 time.After()的使用默认的time.After()是会有内存泄露问题的,因为每次time.After(
- 本文实例讲述了python异常处理、自定义异常、断言原理与用法。分享给大家供大家参考,具体如下:什么是异常:当程序遭遇某些非正常问题的时候就
- ALTER TABLE将表更改为当前字符集。如果在执行ALTER TABLE操作期间遇到重复键错误,原因在于新的字符集将2个键映射到了相同值
- 方法一:<script language="JavaScript"> <!--
- 在上一篇文章中,我介绍了MySQL对XML支持的部分功能,包括--xml命令行选项,以及MySQL 5.1.5中开始引入的新功能。今天我将介
- 一. 打印图片属性、设置图片存储路径代码如下:#打印图片的属性、保存图片位置import cv2 as cvimport nump
- 决策树之ID3算法及其Python实现,具体内容如下主要内容决策树背景知识决策树一般构建过程ID3算法分裂属性的选择ID3算法流程及其优缺点
- 先设置一个关于书本(book)的数据模型:from django.db import modelsclass Publisher(model
- 本文实例讲述了Python实现判断并移除列表指定位置元素的方法。分享给大家供大家参考,具体如下:问题很简单,输入一个列表和索引,若索引超出列
- 对其中的参数进行解释plt.subplots(figsize=(9, 9))设置画面大小,会使得整个画面等比例放大的sns.heapmap(
- 在Bootstrap的官网上,提供了一种导航栏的组件:只要在站点文件夹放好JQ与Bootstrap输入如下代码: <!DOCTYPE
- 本文实例为大家分享了python实现简单贪吃蛇的具体代码,供大家参考,具体内容如下1. 导入游戏库import pgzrunimport r
- 每个进行过较大型的ASP-Web应用程序设计的开发人员大概都有如下的经历:ASP代码与页面HTML混淆难分,业务逻辑与显示方式绞合,使得代码
- 使用MySQL进行数据库备份,有很正规的数据库备份方法,同其他的数据库服务器有相同的概念,但有没有想过,MySQL会有更简捷的使用文件目录的
- 在国内,大部分人都是过农历生日,然后借助日历工具获取农历日期对应的阳历日期,以这一天来过生!这里还有一个痛点,即:每一年的农历生日对应的阳历
- 无法装载DLL Microsoft原因: 126(找不到指定的模块)。 U890帐套引入提示:“无法装载 DLL Microsoft提示您请
- 现在不写asp了这次我将我以前沉淀下的一些函数库共享给大家,希望能给初学者启示,给老手也有所帮助吧.先谢谢大家支持! <%@
- 一、初始递归递归函数:在一个函数里在调用这个函数本身。递归的最大深度:998正如你们刚刚看到的,递归函数如果不受到外力的阻止会一直执行下去。
- 想必很多初次接触python都会见到这样一个语句,if __name__ == "__main__":那么这个语句到底是