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

响应式制作网站建设淄博网站制作服务优化

响应式制作网站建设,淄博网站制作服务优化,广州seo地址,大前端网站基础介绍 选择排序算法的核心思想: 将整个待排序的数据作为一个集合从这个集合中按一定规则找到最大或者最小值从这个集合中去去掉找到的数据,这样就出现了一个子集重复1-3的步骤,找到所有的数据都找到。 选择排序的重点是从剩余部分进行遍…

基础介绍

选择排序算法的核心思想:

  1. 将整个待排序的数据作为一个集合
  2. 从这个集合中按一定规则找到最大或者最小值
  3. 从这个集合中去去掉找到的数据,这样就出现了一个子集
  4. 重复1-3的步骤,找到所有的数据都找到。

选择排序的重点是从剩余部分进行遍历查找

示例

#include <iostream>
#include <array>
using namespace std;
//选择排序
//选择排序的核心思想:首先从一个总集合中找到最大或最小的值,并将找到的值放到头部(这里面涉及到一个交换),然后再该集合中去除这部分,然后在
//剩下的集合中重复刚才的过程
//这里对一个数组进行排序,要求使用选择排序算法来完成
//分析,如果对这个数组进行排序,设计一个排序桉树,输入是一个数组,输出也是这个数组,无返回值
//这里的排序从大到小进行排序
void selectSort(array<int,7>& arr)
{//首先找到数组的长度int length = arr.size();cout <<"size = "<<length<<endl;//这里需要建立2个循环,第一个循环的索引依次向右移动,第二个循环的起始索引以第一个循环的当前索引值为起点//由于涉及位置交换,所以这里需要定义一个临时变量,用于交换数据使用,另外要记录中间的最大值,所以还需要一个//变量,该变量存储找到的最大值索引值,另外还有一个过程变量,用于过程中找到的最大值for(int i = 0; i < length; i++){//这里必须放在这里,每次在剩下的集合中查找最大值都需要初始化这两个过程变量int maxNum = arr.at(i);int maxIndex = i;for(int j = i; j < length; j++){if(arr.at(j) > maxNum){maxNum = arr.at(j);maxIndex = j;}}cout <<"maxIndex = "<<maxIndex<<endl;//查找完成后,需要交换位置if(maxIndex != i){int value = arr.at(i);arr[i] = arr.at(maxIndex);arr[maxIndex] = value;}//啥也不干else{}}return ;
}int main(int argc, char *argv[])
{array<int,7>  arr{4,3,5,1,2,8,6};selectSort(arr);for(int i = 0; i < arr.size(); i++){cout << arr.at(i)<<endl;}return 0;
}

时间复杂度分析

采用大O表示法,通过上面的例子来分析这个算法的时间复杂度,假设有n个数据:

  1. 第一层遍历需要遍历n次
  2. 第二层循环的遍历次数依次为n, n-1, n-2,1
  3. 计算两次循环的总次数为n*n+n*(n-1)+...n*1=n*(n+1)/2=n*n/2+n/2
  4. 大O表示法去掉低次项,去掉常数项,从而得出时间复杂度为O({n^{2}})

http://www.dtcms.com/wzjs/574736.html

相关文章:

  • 怎么把电脑当服务器做网站启东做网站
  • 松江php网站开发培训电脑网页设计教程
  • 天津哪家做网站好中国设计网字体
  • 乐清 网站建设wordpress文章会员
  • 做网站设计的长宽一般是多少钱可画设计软件下载
  • 把自己的电脑做网站服务器app开发公司 上海
  • 江西华邦网站建设电商网站如何生成app
  • 北京工商注册代理记账南昌seo全网营销
  • 建个网站需要多少钱一个中国全面开放入境
  • 安卓图形网站建设如何做好推广引流
  • 免费建设游戏对战平台网站coding.net wordpress
  • 做网站ie缓存论坛网站如何备案
  • 微建站程序有哪些wordpress桌面宠物
  • 免费模板网站武钢建工集团建设分公司网站
  • 自己建设一个网站步骤毕业设计购物网站开发的意义
  • 深圳开发网站的公司镇江京口区
  • 惠州外贸网站建设推广安阳做网站公司
  • 开发wap网站 转搜索引擎排名规则
  • 淄博网站排名优化报价做良心网站
  • 做网站都有什么功能做微电网的公司网站
  • 深圳p2p网站开发百度翻译api wordpress
  • iis网站服务器基本安全设置步骤福安做网站最好
  • 国内建网站多少钱网店营销的推广方法有哪些
  • 做国外购物的网站怎么发货外贸做哪个网站平台
  • 手机电影网站怎么做的企业培训课程ppt
  • 黄山网站建设有哪些东莞网站优化公司哪家好
  • 金华公司做网站肇庆有哪家做企业网站的
  • 51比购网官方网站wordpress正计时代码
  • 量力商务大厦网站建设黄浦上海网站建设
  • 青岛专业做商业房的网站做cpa用单页网站好还是