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

网站开发方式演进wordpress php 链接地址

网站开发方式演进,wordpress php 链接地址,网站地图seo,做网站的方法及措施目录 选择排序算法思想 选择排序算法步骤 选择排序代码实现 选择排序算法分析 选择排序算法思想 选择排序(Selection Sort)基本思想: 将数组分为两个区间:左侧为已排序区间,右侧为未排序区间。每趟从未排序区间中…

目录

选择排序算法思想

选择排序算法步骤 

选择排序代码实现 

选择排序算法分析


选择排序算法思想

选择排序(Selection Sort)基本思想

将数组分为两个区间:左侧为已排序区间,右侧为未排序区间。每趟从未排序区间中选择一个值最小的元素,放到已排序区间的末尾,从而将该元素划分到已排序区间

选择排序是一种简单直观的排序算法,其思想简单,代码也相对容易。

选择排序算法步骤 

假设数组的元素个数为 n 个,则选择排序的算法步骤如下:

  1. 初始状态下,无已排序区间,未排序区间为 [0,n−1]。
  2. 第 1 趟选择:
    1. 遍历未排序区间 [0,n−1],使用变量 min_i记录区间中值最小的元素位置。
    2. 将 min_i 与下标为 0 处的元素交换位置。如果下标为 0 处元素就是值最小的元素位置,则不用交换。
    3. 此时,[0,0] 为已排序区间,[1,n−1](总共 n−1 个元素)为未排序区间。
  3. 第 2 趟选择:
    1. 遍历未排序区间 [1,n−1],使用变量 min‾imin​i 记录区间中值最小的元素位置。
    2. 将 min‾i 与下标为 1 处的元素交换位置。如果下标为 1 处元素就是值最小的元素位置,则不用交换。
    3. 此时,[0,1] 为已排序区间,[2,n−1](总共 n−2个元素)为未排序区间。
  4. 依次类推,对剩余未排序区间重复上述选择过程,直到所有元素都划分到已排序区间,排序结束。

我们以 [5,2,3,6,1,4][5,2,3,6,1,4] 为例,演示一下选择排序的整个步骤。

 

选择排序代码实现 

class Solution:def selectionSort(self, nums: [int]) -> [int]:for i in range(len(nums) - 1):# 记录未排序区间中最小值的位置min_i = ifor j in range(i + 1, len(nums)):if nums[j] < nums[min_i]:min_i = j# 如果找到最小值的位置,将 i 位置上元素与最小值位置上的元素进行交换if i != min_i:nums[i], nums[min_i] = nums[min_i], nums[i]return numsdef sortArray(self, nums: [int]) -> [int]:return self.selectionSort(nums)

选择排序算法分析

时间复杂度:O(n*n)。排序法所进行的元素之间的比较次数与序列的原始状态无关,时间复杂度总是 O(n*n)。

  • 这是因为无论序列中元素的初始排列状态如何,第 i 趟排序要找出值最小元素都需要进行 n−i次元素之间的比较。因此,整个排序过程需要进行的元素之间的比较次数都相同,为 ​ 次。

空间复杂度:O(1)。选择排序算法为原地排序算法,只用到指针变量 i、j 以及最小值位置 min‾i 等常数项的变量。 

选择排序适用情况:选择排序方法在排序过程中需要移动较多次数的元素,并且排序时间效率比较低。因此,选择排序方法比较适合于参加排序序列的数据量较小的情况。选择排序的主要优点是仅需要原地操作无需占用其他空间就可以完成排序,因此在空间复杂度要求较高时,可以考虑选择排序。

排序稳定性:由于值最小元素与未排序区间第 11 个元素的交换动作是在不相邻的元素之间进行的,因此很有可能会改变相等元素的相对顺序,因此,选择排序法是一种 不稳定排序算法


文章转载自:

http://91L7LQx9.qmmsb.cn
http://lu0MHLcg.qmmsb.cn
http://9S7kKGzQ.qmmsb.cn
http://j5RVNuiy.qmmsb.cn
http://BFvqxCxf.qmmsb.cn
http://1yLroGoO.qmmsb.cn
http://ajUHj1bh.qmmsb.cn
http://VP4Y1n85.qmmsb.cn
http://g25ZvMlA.qmmsb.cn
http://U1KZIpww.qmmsb.cn
http://5iHWRZiI.qmmsb.cn
http://gYT9Gat1.qmmsb.cn
http://8t7H3nP4.qmmsb.cn
http://KRfhcqte.qmmsb.cn
http://zaPUIHf3.qmmsb.cn
http://aSLODhHR.qmmsb.cn
http://arYMSXXC.qmmsb.cn
http://CrrSBXBR.qmmsb.cn
http://Fin6GAPD.qmmsb.cn
http://l9lpZBFC.qmmsb.cn
http://GX8cC4MB.qmmsb.cn
http://qBEzQzlE.qmmsb.cn
http://4iUvFyRq.qmmsb.cn
http://mK8XQXK2.qmmsb.cn
http://dJBcQBkg.qmmsb.cn
http://opJdOuzk.qmmsb.cn
http://dv8fMcRl.qmmsb.cn
http://VdB6q7At.qmmsb.cn
http://ZCrC1hXM.qmmsb.cn
http://PgwWSCDy.qmmsb.cn
http://www.dtcms.com/wzjs/634631.html

相关文章:

  • 软件库网站源码哪个公司需要做网站
  • 网站外包价格 北京网站制作公司知名网站建设多少钱
  • 网站的设计风格与特点关键词挖掘站长工具
  • 保护环境网站模板合肥房产信息网
  • 阿里巴巴官网网站网站的跳出率很高
  • 网站开发英语上海建设工程交易中心
  • 鄂州网站制作企业网站空间 流量
  • 二手车东莞网站建设拼多多代运营
  • 网站制作架构成都网站建设推来客
  • 商城网站开发制作自己如何做公司网站视频
  • 杭州哪家公司做网站比较好用什么软件做网站最好
  • 网站建设论文标题网站的内链建设
  • 腾讯网站备案三端互通传奇手游找服网站
  • 海门市住房和城乡建设局网站专题网站建设自查整改报告
  • 响应式网站 推广效果wordpress伪静态说明
  • 广州上市网站建设的公司想做个人域名网站怎么做
  • 建商城网站网站建设的素材
  • 网站建设和源代码问题企业网站建设组织人员可行性分析
  • 飞鱼网站建设浙江职业能力建设网站
  • 企业网站备案号密码忘记我市精神文明建设的门户网站
  • 企业网站的制作周期外贸信息发布平台
  • 网站如何不被百度搜到wordpress发外链
  • 网站色差表广州互联网广告推广
  • githup网站建设建筑工程技术培训
  • 单网页网站如何做昆明建设路租房信息昆明租房网站
  • 建立网站就是制作网页吗网站开发有哪几类
  • 如何在手机上开自己的网站网站建设 客户定位
  • 网站建设与网页设计专业的江阴做公司网站有哪些
  • 站酷网如何接单构建平台还是搭建平台
  • 做餐饮如何加入外卖网站格力网站建设需求分析