当前位置: 首页 > news >正文

为什么要建立电子商务网站海报模板网

为什么要建立电子商务网站,海报模板网,南宁品牌网站建设公司,福州网站微信公众号01、算法原理 选择排序(Selection sort)是一种简单直观的排序算法。 第一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后再从剩余的未排序元素中寻找到最小(大)元素&#…

01、算法原理

选择排序(Selection sort)是一种简单直观的排序算法。

第一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后再从剩余的未排序元素中寻找到最小(大)元素,然后放到已排序的序列的末尾。以此类推,直到全部待排序的数据元素的个数为零。

有无序列表

[3,44,38,5,47,115,36,26,27,2,46,4,19,50,48]

进行选择排序,步骤如下:

第一轮从第一个元素开始与下一个元素进行比较,记录较小的元素,再和下下个元素进行比较,记录较小的元素,进行 14 次比较后找到整个列表中的最小数 ls[min],将它与 ls[0] 交换位置。
 

第二轮第二个元素开始与下一个元素进行比较,记录较小的元素,再和下下个元素进行比较,记录较小的元素,进行 13 次比较后找到从第二个元素开始的列表中的最小数 ls[min],将它与 ls[1] 交换位置。
 

第三轮....

第十四轮第十四个元素开始与下一个元素进行比较,找到最后两个元素中的最小数将它与 ls[1] 交换位置,自此排序完成。

如果你想学习自动化测试,我这边给你推荐一套视频,这个视频可以说是B站播放全网第一的自动化测试教程,同时在线人数到达1000人,并且还有笔记可以领取及各路大神技术交流:798478386 

https://www.bilibili.com/video/BV17p4y1B77x/?spm_id_from=333.337icon-default.png?t=N7T8https://www.bilibili.com/video/BV17p4y1B77x/?spm_id_from=333.337 

根据上面的步骤归纳总结:

n 个元素的列表,需要 n-1 轮选择排序。每轮选择排序需要的比较次数为 n-1-轮次

02、 代码实现

def selection_sort(l):n = len(l)for i in range(n - 1):  # 进行n-1轮选择排序min_index = i  # 预设最小值索引为未排序部分的第一个数for j in range(i + 1, n ):if l[min_index] > l[j]:min_index = j# 将最小元素放到每次排序的第一个位置l[i], l[min_index] = l[min_index], l[i]ls = [3, 44, 38, 5, 47, 115, 36, 26, 27, 2, 46, 4, 19, 50, 48]selection_sort(ls)
print(ls)

运行结果:

[2, 3, 4, 5, 19, 26, 27, 36, 38, 44, 46, 47, 48,50, 115 ]

03、分析总结

1. 时间复杂度

● 在选择排序中,其交换操作介于 0(已排序数组)到 n-1(逆序数组)之间,时间复杂度为 O(n)● 比较操作跟数组的初始状态无关,不论待排序数组是有序的还是逆序的,比较操作的次数都是 n-1+...+3+2+1=n*(n-1)/2,时间复杂度为 O(n2)

2. 空间复杂度

在选择排序算法过程中,临时占用存储空间大小不变,空间复杂度为 O(1)

3. 稳定性分析

序列 5,8,5,2,9 经过一遍选择后,第一个元素 5 回合 2 交换,那么原序列中两个 5 的相对前后顺序就破坏了,所以选择排序是一个不稳定的排序。

4.应用分析

交换操作所需 CPU 时间比比较所需的 CPU 时间多,当 n 值较小时,选择排序的交换操作远小于冒泡排序,此时应当使用选择排序。

http://www.yayakq.cn/news/232199/

相关文章:

  • 哪个网站做任务钱给得多沈阳中小企业网站建设
  • 阿里云官方网站网页制作实训内容
  • 广州网站制作教程wordpress备份content
  • 自己怎么做网站网页苏州建设有限公司
  • 电商网站设计素材jsp网站开发详解 下载
  • 支付网站怎么设计的离职删除做的网站
  • 做网站ps图片都是多大网站优化排名哪家好
  • 合肥专业网站优化哪家好知名的集团门户网站建设费用
  • 网站备案填写要求包头网站建设多少钱
  • 设计logo网站哪个好常见的网络营销策略都有哪些
  • 山东卓创网络网站建设wordpress 糗百
  • 学做网站论坛教程下载公司网站是否有必要销售产品
  • 英文建站网站建设公司 温州
  • 专门做特价的网站官网网站建设企业
  • 济南网站建设 荐搜点网络网页界面设计中
  • 政务网络及网站建设网页设计需要用到的软件
  • 已有网站备案更换idc 多久网站qq 微信分享怎么做
  • 自学网站建设做淘宝那样的网站麻烦吗
  • 湛江做网站公司广告发布形式有哪几种
  • 东莞免费建网站企业广东人才网官方网站招聘信息
  • 网站制作推广方案网站建设最便宜多少钱
  • 能直接用网站做海报吗大连做网站比较好的公司
  • 网站建设所用系统广告设计公司朋友圈文案
  • WordPress上放广告广州seo营销培训
  • 网站建设项目资金申请wordpress怎么自己写源码吗
  • 卖房子上哪个网站最好卖网上注册公司营业执照注册流程
  • 攀枝花网站建设网络营销培训
  • 西安双语网站建设vi设计哪里有
  • 百度爱采购下载app谷歌网站推广优化
  • 湘西网站建设公司怎么在携程旅行做网站