Python中选择排序的实例详解

选择排序

  选择排序(selection sort)是一种简单直观的排序算法。它的工作原理如下。首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。 选择排序的主要优点与数据移动有关。如果某个元素位于正确的最终位置上,则它不会被移动。选择排序每次交换一对元素,它们当中至少有一个将被移到其最终位置上,因此对n个元素的表进行排序总共进行至多n-1次交换。在所有的完全依靠交换去移动元素的排序方法中,选择排序属于非常好的一种。

Python 实现

 1 # selection_sort.py 2 def selection_sort(arr): 3     count = len(arr) 4     for i in range(count-1):    # 交换 n-1 次 5         min = i 6         # 找最小数 7         for j in range(i, count): 8             if arr[min] > arr[j]: 9                 min = j10         arr[min], arr[i] = arr[i], arr[min]    # 交换11     return arr12 13 my_list = [6, 23, 2, 54, 12, 6, 8, 100]14 print(selection_sort(my_list))

登录后复制

 

以上就是Python中选择排序的实例详解的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2269675.html

(0)
上一篇 2025年2月27日 11:19:44
下一篇 2025年2月18日 06:39:51

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • python学习—–类的封装、继承,多态

    封装 封装最好理解了。封装是面向对象的特征之一,是对象和类概念的主要特性。 封装,也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。   1 class dog(object): …

    2025年2月27日 编程技术
    200
  • 浅谈Python中的排序

    浅谈排序 程序中经常用到排序函数,python 提供了 sort 和 sorted 函数,一个原地排序,一个返回排序后的新结果 1、参数 函数原型: sort([cmp[, key[, reverse]]]) 登录后复制 意思是sort方法…

    编程技术 2025年2月27日
    200
  • 爬虫&问题解决&思考

      最近刚接触python,找点小任务来练练手,希望自己在实践中不断的锻炼自己解决问题的能力。这个小爬虫来自慕课网的一门课程,我在这里记录的是自己学习的过程中遇到的问题和解决方法以及爬虫之外的思考。   这次的小任务就是写一个小爬虫。为啥选…

    2025年2月27日
    200
  • VS Code python怎么使用的?

    之前一直都是使用notepad++来编写python代码,后来想起来之前查资料的时候有个vs code可以编写一些的脚本语言(js,node.js)甚至是高级编程语言(c#,php,java,python等)而且这是微软自家写的,这就引起我…

    2025年2月27日
    200
  • PYTHON博客记录

    一、Python中Unicode字符串 字符串还有一个编码问题。   因为计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理。最早的计算机在设计时采用8个比特(bit)作为一个字节(byte),所以,一个字节能表示的最大的…

    编程技术 2025年2月27日
    200
  • 分享一个Python用户名密码登录系统

    # -*- coding: gb2312 -*-#用户名密码登录系统(MD5加密并存入文件)及对字符串进行凯撒密码加解密操作#作者:凯鲁嘎吉 – 博客园 import hashlibdef md5(arg):#这是加密函数,将传进来的函数加…

    2025年2月27日
    200
  • 关于python类的实例详解

    编程范式 编程是程序员用特定的语法+数据结构+算法组成的代码来告诉计算机如何执行任务的过程 , 一个程序是程序员为了得到一个任务结果而编写的一组指令的集合,正所谓条条大路通罗马,实现一个任务的方式有很多种不同的方式, 对这些不同的编程方式的…

    编程技术 2025年2月27日
    200
  • python学习日记

    1、数值拷贝 import copy# ######数字、字符串######n1 = 123print(id(n1))n2 = n1print(id(n2))###浅拷贝###n2 = copy.copy(n1)print(id(n2))#…

    编程技术 2025年2月27日
    200
  • Python的一些小练习

    作业一:                                                                                                                    …

    编程技术 2025年2月27日
    200
  • 新浪新闻详情页的数据抓取实例

    上一篇文章《python爬虫:抓取新浪新闻数据》详细解说了如何抓取新浪新闻详情页的相关数据,但代码的构建不利于后续扩展,每次抓取新的详情页时都需要重新写一遍,因此,我们需要将其整理成函数,方便直接调用。 详情页抓取的6个数据:新闻标题、评论…

    编程技术 2025年2月27日
    200

发表回复

登录后才能评论