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

新开传奇网站180合击杭州行业网站建设公司

新开传奇网站180合击,杭州行业网站建设公司,临沂网站建设网站推广,wordpress 按点击调用热门文章思想: 每次从未排序的部分找出最小的元素,将其放到已排序部分的末尾 从数据结构中找到最小值,放到第一位,放到最前面,之后再从剩下的元素中找出第二小的值放到第二位,以此类推。 实现思路: 遍…

在这里插入图片描述

思想:

每次从未排序的部分找出最小的元素,将其放到已排序部分的末尾

从数据结构中找到最小值,放到第一位,放到最前面,之后再从剩下的元素中找出第二小的值放到第二位,以此类推。

实现思路:

  1. 遍历数据结构,找到最小值,放到第一位
  2. 从剩下的部分找到第二小的值,放到第二位
  3. 重复上述过程,直到整个排序完成

视频实现:

文字描述如上,以下是选择排序的视频全过程

选择排序全过程

代码实现:

接下来是选择排序的代码实现:

 //传入一个数组,用来进行排序  
public static void SelectionSort(int[] arr){  //外层循环是用来控制排序的层次的  for(int  i = 0 ; i< arr.length-1; i++){  int minIndex = i;  //内层循环是为了在没有进行排序的元素中找到最小的元素  for(int j = i+1 ; j< arr.length;j++){  if(arr[j]  < arr[minIndex]){  minIndex = j;  }  }  int temp = arr[i];  arr[i] = arr[minIndex];  arr[minIndex] = temp;  }  
}

外层循环是用来控制排序的层次的 ,所以如下:

for(int i = 0; i < arr.length-1; i++)

内层循环的目的是为了在没有进行排序的元素中找到最小的元素

for(int j = i-1; j < arr.length; j++)

时间复杂度分析:

啊~ 选择排序的时间复杂度嘛,哼哼,这个问题可是很有意思的哦!让我给你详细分析一下,保证你完全明白!(。•̀ᴗ•́。)

选择排序时间复杂度分析:

选择排序的基本思想就是 每次从未排序的部分找出最小的元素,将其放到已排序部分的末尾。它的核心是通过两层循环来完成排序:外层循环控制排序轮次,内层循环负责找最小值。

1. 外层循环的复杂度

外层循环从数组的第一个元素开始,到倒数第二个元素为止。假设数组的长度为 n,那么外层循环的次数就是 n - 1。所以外层循环的复杂度是 O(n)。

2. 内层循环的复杂度

对于每次外层循环,内层循环会从外层循环当前位置之后的元素开始,遍历剩下的所有元素。具体来说:

  • 第一次外层循环:内层循环会从第 1 个元素开始遍历到最后一个元素,总共遍历 n-1 次。
  • 第二次外层循环:内层循环会从第 2 个元素开始遍历到最后一个元素,总共遍历 n-2 次。
  • 第三次外层循环:内层循环会从第 3 个元素开始遍历到最后一个元素,总共遍历 n-3 次。
  • 以此类推……直到最后一次外层循环只遍历一个元素。

所以内层循环的总遍历次数就是:
[
(n-1) + (n-2) + (n-3) + \dots + 1
]
这个和是一个等差数列,我们可以使用等差数列求和公式:
[
S = \frac{n(n-1)}{2}
]
所以内层循环的复杂度是 O(n²)。

3. 总时间复杂度

选择排序的总时间复杂度是外层循环和内层循环的复杂度之和。

  • 外层循环:O(n)
  • 内层循环:O(n²)

因此,选择排序的总时间复杂度是 O(n²)

4. 空间复杂度

选择排序是一个 原地排序算法,意味着它只需要常数级别的额外空间。只用了一个变量 minIndex 来记录最小值的位置,空间复杂度就是 O(1)

总结:

  • 时间复杂度:选择排序的时间复杂度是 O(n²),因为它有两层嵌套循环。
  • 空间复杂度:空间复杂度是 O(1),因为它是一个原地排序,不需要额外的空间。

为什么时间复杂度是 O(n²)?

  • 选择排序每一次外层循环都会执行一次内层循环,内层循环的次数逐步递减,但总体来说,它的时间复杂度是平方级的(O(n²))。
http://www.yayakq.cn/news/274086/

相关文章:

  • 成都网站设计制作水冶那里有做网站的
  • 帝国cms网站地图xml网站建设需要哪些技能
  • vps 网站 需要绑定域名吗德州建设局网站
  • 凡科网站是骗子西安建设工程信息网新平台
  • 网站建设建站网站建设与策划
  • 优秀网站设计有哪些网站制作公司徐州
  • 只做男士衬衫的网站小程序开发工具
  • 手机必备网站电白建设局网站
  • 网站模板怎么弄装修网站运营
  • 昆明优化网站网站建设语
  • 接设计单的网站wordpress图片搬到聚合图床
  • 专做毕业设计的网站网站开发语言html
  • 建网站自己做服务器wordpress注释插件
  • 如何做企业网站及费用问题南昌网站建设机构
  • 敦煌网站建设网站开发总结 优帮云
  • 微信可以怎么创建账户网站东莞电子网站建设
  • 重庆网站建设yunhuit国家住房城乡建设厅网站
  • 做网站找哪家好思南注册网站的免费网址
  • 怎么进行网站关键词优化电商网站简单html模板下载
  • 平邑建设局网站首页免费ppt模板下载在哪里下载
  • 西丽建设网站uniapp微信小程序模板
  • 上海建网站开发公网络营销论文
  • 男鞋 东莞网站建设做网站诈钱
  • wordpress 隐私设置2018网站如何做seo
  • 建设银行甘肃省行网站月嫂云商城网站建设
  • 儿童才艺网站建设模板注册了域名之后怎么做网站
  • 更改网站文章上传时间北京专业建设
  • 做worksheet的网站oppo软件商店官网
  • 游戏网站建设策划书怀化网站设计
  • 做网站能赚钱吗知乎手机网站app开发