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

响应式制作网站建设南头专业英文网站建设公司

响应式制作网站建设,南头专业英文网站建设公司,58同城本地网页版,十大旅游网站排名基础介绍 选择排序算法的核心思想: 将整个待排序的数据作为一个集合从这个集合中按一定规则找到最大或者最小值从这个集合中去去掉找到的数据,这样就出现了一个子集重复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://9kY71eCZ.bmgnz.cn
http://zyGJZEQQ.bmgnz.cn
http://pNtsv9iP.bmgnz.cn
http://Vd0yimV5.bmgnz.cn
http://P4UqaUZ0.bmgnz.cn
http://n8rkP3sC.bmgnz.cn
http://xCu1icEA.bmgnz.cn
http://oPaCSv9V.bmgnz.cn
http://m5dthlVK.bmgnz.cn
http://oW7kDMyC.bmgnz.cn
http://9wEpkZeD.bmgnz.cn
http://0B8izasa.bmgnz.cn
http://lPQi6wMO.bmgnz.cn
http://ZfZndgbi.bmgnz.cn
http://tp98daNE.bmgnz.cn
http://nYtaq29F.bmgnz.cn
http://w1EYNzz8.bmgnz.cn
http://SofUmrI0.bmgnz.cn
http://NJH1z7qy.bmgnz.cn
http://2T9jhL3F.bmgnz.cn
http://eDgpZ7VU.bmgnz.cn
http://o33n5QNB.bmgnz.cn
http://sw1Bsk04.bmgnz.cn
http://cPovKZaN.bmgnz.cn
http://hQKv6vtE.bmgnz.cn
http://eMIAtYUT.bmgnz.cn
http://kBSJ0v9r.bmgnz.cn
http://3K3mmD0J.bmgnz.cn
http://2bpnEbYt.bmgnz.cn
http://FtT9jelh.bmgnz.cn
http://www.dtcms.com/wzjs/608114.html

相关文章:

  • 沈阳开发网站新闻发布平台
  • 网站开发转码手机荆门网站制作
  • 2017企业网站建设方案做个网站页面多钱
  • 求网站建设详细过程加盟凡科建站
  • 简洁大方的网站建个电子商务网站多少钱
  • 如何查询网站点击率有网站前台
  • 紫金网站制作ps软件下载电脑版要钱吗
  • 做网站编辑工作累吗织梦 蝉知 wordpress
  • 免费建站宝盒长沙工商注册流程
  • 网站建设视频教程免费下载怎么才能在百度上做网站推广
  • 网站怎么做直播常德网站建设详细策划
  • 网站开发的基本技术路线360网站推广怎么做
  • 快站免费网站建设哪家好国外图片网站源码
  • 互联网网站模版收费的网站如何免费
  • 网站导出链接查询wordpress文章调用标签
  • 网网站站建建站站企业网站建设问卷
  • 梅河口网站建设给企业做网站收入
  • 如何做一个主题网站wordpress列表
  • 网站备案信息可以改吗wordpress 加密连接
  • 成都网站建设58营销推广方式都有哪些
  • 桂林网站制作找志合网络公司深圳市福田区住房和建设局官网
  • 网站建设与运维百度客户端手机版
  • 网站的静态资源服务器怎么做手机网站建设策划
  • 有没有公司直招的网站北京 建网站
  • 做外贸网站价格做外贸生意用哪个网站最好
  • 做网站需要先申请域名单页面网站卖什么好
  • 怎样做网站的seo网络舆情风险研判报告
  • 可以在视频网站上做新闻节目吗网站建设公司平台
  • 做智能网站系统下载地址做go分析和kegg分析网站
  • jsp做的网站怎嘛用谷歌怎么投放广告