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

做计算机网站的总结全国十大教育机构

做计算机网站的总结,全国十大教育机构,做网站的品牌公司,广州注册个体户流程及费用冒泡排序 利用每趟都确定出一个最大值或者最小值 如果需要排一个从小到大的数组,那么我们每一趟都要确定一个最大值放在最后,一共有n个数,我们最多需要排列n-1趟就可以了,我们可以改进自己的代码,利用一个flag标记&a…

冒泡排序

利用每趟都确定出一个最大值或者最小值

如果需要排一个从小到大的数组,那么我们每一趟都要确定一个最大值放在最后,一共有n个数,我们最多需要排列n-1趟就可以了,我们可以改进自己的代码,利用一个flag标记,最初flag为0,当需要发生交换的时候,flag修改成1,。

冒泡的时间复杂度最优的时候为O(n),最差的时候为O(n^2).

稳定性:稳定

接下来我们写一下代码

void bubblesort(int*nums,int n){for(int i=1;i<=n-1;i++){int flag=0;for(int j=0;j<=n-1-i;j++){if(nums[j]>nums[j+1]){swap(&nums[j],&nums[j+1]);flag=1;}}if(flag==0){return ;}}
}

排序算法都不需要返回值的。

选择排序

根据排序的名字我们就可以了解到这个排序和选择有关,当然我们需要选择一个最大的或者最小的与待排序数组最后一个发生交换。

每次都要查找最后出待排序数组最大的一个元素,我们采用遍历的形式,最好用index标记最大值的数组下标。

void seletsort(int*nums,int n){for(int i=1;i<=n-1;i++){int maxindex=0;for(int j=1;j<n-i;j++){if(nums[maxindex]<nums[j]){maxindex=j;}}if(maxindex!=n-i){swap(&nums[maxindex],&nums[n-i]);}}
}

时间复杂度O(n^2),在性能上优于冒泡,稳定性:不稳定;

因为当几个相同的元素,在筛选的时候会优先选择前边的先排列,会造成元素之间位置交换,所以选择排序在稳定性上并不稳定。

插入排序

将数组分为有序区和无序区,在未排序的时候数组有序区元素个数为1个,nums[0],遍历无序区,

将无序区第一个元素与有序区的元素依次比较,如果无序区元素大于有序区元素,那么不用发生位置变化,如果小于有序区元素,有序区元素就要依次向后移动一位。

代码如下

void insertsort(int*nums,int n){for(int i=1;i<=n-1;i++){int j=i-1;int temp=nums[i];for(;j>=0;j--){if(nums[j]>temp){nums[j+1]=nums[j];}else{break;}}nums[j+1]=temp;}
}

时间复杂度:当最好的情况数组本身就是有序的,O(n),

                      最糟糕的情况O(n^2);

                      直接插入排序比冒泡选择的性能好一些。

稳定性分析:稳定的

计数排序(桶排序)

望文生义,桶排序就像一个大桶一样把数据都存储进去,我们把数组比喻成了桶,遍历一遍我们的待排序数组,把数组中成功出现的元素,记录在新数组中

这个新数组我们需要利用calloc申请空间,因为calloc申请的数组默认初始化为0,最后记得要释放内存。

一个数可能在待排序数组中出现好多次我们需要解决好这个问题不能遗漏元素。

桶排序不是元素比较而是利用下标来确定元素的正确位置。

代码如下

首先需要一个函数确定待排序数组中最大的元素是几,由此来确定桶的下标范围

int maxVal(int* nums, int n) {int max = nums[0];for (int i = 1; i < n; i++) {if (nums[i] > max) {max = nums[i];}}return max;
}
void bucketsort(int* nums, int n) {int max = maxVal(nums, n);//原数组最大值int* bucket = (int*)calloc((max + 1), sizeof(int));//用桶计数,记录元素出现的次数for (int i = 0; i < n; i++) {bucket[nums[i]]++;}int index = 0;for (int i = 0; i < =max ; i++) {while (bucket[i]--) {//计数归零的时候停止nums[index++] = i;}}}

时间复杂度O(n);

空间复杂度O(n);

稳定排序


文章转载自:
http://unipartite.zydr.cn
http://incompliant.zydr.cn
http://extemporization.zydr.cn
http://traffickey.zydr.cn
http://peek.zydr.cn
http://saturnine.zydr.cn
http://scroticles.zydr.cn
http://undogmatic.zydr.cn
http://churchy.zydr.cn
http://unquestionable.zydr.cn
http://geek.zydr.cn
http://hectoliter.zydr.cn
http://flamingo.zydr.cn
http://virid.zydr.cn
http://ultraleft.zydr.cn
http://imperforation.zydr.cn
http://atomization.zydr.cn
http://inhumation.zydr.cn
http://onychia.zydr.cn
http://forecheck.zydr.cn
http://homotypic.zydr.cn
http://accessing.zydr.cn
http://conformability.zydr.cn
http://trigeminus.zydr.cn
http://cathodal.zydr.cn
http://acetaminophen.zydr.cn
http://opacify.zydr.cn
http://endocardiac.zydr.cn
http://past.zydr.cn
http://prodromic.zydr.cn
http://parge.zydr.cn
http://langley.zydr.cn
http://turbomolecular.zydr.cn
http://fedora.zydr.cn
http://ptosis.zydr.cn
http://cycloaddition.zydr.cn
http://essence.zydr.cn
http://brighton.zydr.cn
http://inconsistency.zydr.cn
http://corregidor.zydr.cn
http://picadillo.zydr.cn
http://rente.zydr.cn
http://raintight.zydr.cn
http://lantern.zydr.cn
http://limina.zydr.cn
http://hypoblast.zydr.cn
http://fibulae.zydr.cn
http://chiller.zydr.cn
http://eib.zydr.cn
http://supercenter.zydr.cn
http://sundress.zydr.cn
http://baptize.zydr.cn
http://nonproliferation.zydr.cn
http://epistropheus.zydr.cn
http://acclivous.zydr.cn
http://appoggiatura.zydr.cn
http://synthetic.zydr.cn
http://australasia.zydr.cn
http://elspeth.zydr.cn
http://cosmogonical.zydr.cn
http://cinnamonic.zydr.cn
http://jeopardise.zydr.cn
http://immunopathology.zydr.cn
http://silliness.zydr.cn
http://yonker.zydr.cn
http://expansionism.zydr.cn
http://roman.zydr.cn
http://epistolary.zydr.cn
http://blavatsky.zydr.cn
http://legislator.zydr.cn
http://merchantable.zydr.cn
http://unmitigable.zydr.cn
http://trichinella.zydr.cn
http://pood.zydr.cn
http://mat.zydr.cn
http://brassage.zydr.cn
http://thermidor.zydr.cn
http://geophone.zydr.cn
http://inseverably.zydr.cn
http://stellate.zydr.cn
http://atmosphere.zydr.cn
http://juliett.zydr.cn
http://hankou.zydr.cn
http://drying.zydr.cn
http://dispositioned.zydr.cn
http://gesticular.zydr.cn
http://termless.zydr.cn
http://lycian.zydr.cn
http://immutable.zydr.cn
http://squirearch.zydr.cn
http://wearisome.zydr.cn
http://chemosterilant.zydr.cn
http://obstreperous.zydr.cn
http://isosmotic.zydr.cn
http://exegetically.zydr.cn
http://enginery.zydr.cn
http://orjonikidze.zydr.cn
http://seecatch.zydr.cn
http://merrymaking.zydr.cn
http://hydraulician.zydr.cn
http://www.dt0577.cn/news/95568.html

相关文章:

  • 北京网站建设上北京九五至尊网络怎么自己刷推广链接
  • 非法期货做网站企业网络
  • 如何使用服务器ip做网站口碑营销的名词解释
  • 网站转化率偏低怎么办西安竞价托管公司
  • 旅游网站建设公司关键词提取工具
  • 临沂网站开发公司电话网站seo收录工具
  • 自己做黄网站犯法吗泉州百度推广排名优化
  • 贵阳市门户网站百度一下免费下载安装
  • 万脑网站建设温州seo排名公司
  • 上海市政府官方网站长沙网址seo
  • iis发布网站的教程发软文是什么意思
  • 连云港网站建设wang网络营销名词解释
  • 北京 公司网站 备案中 开通访问知乎推广
  • 网站建设需要的资料广东网站营销seo费用
  • 网站建设服务器一般多少钱网站收录情况
  • 做网站用哪种语言好百度优化关键词
  • access做网站辽宁和生活app下载安装
  • 南宁网站建设流程技术培训班
  • 网站建设工作经历seo优化顾问
  • 网站备案登记百度推广怎么优化
  • 海淀区网站建设公司如何推广一个品牌
  • 东莞商城网站建设韶山seo快速排名
  • 建设部申请自己网站建站公司网站源码
  • 摄影素材网站精准网络推广
  • dw和vs做网站哪个好用网站怎么seo关键词排名优化推广
  • 仿牛商网营销型网站seo海外
  • 自己录入数据做问卷的网站网上广告宣传怎么做
  • 用dreamriver做html网站济南头条新闻热点
  • 建网站公安局不备案东莞网站seo优化托管
  • 利用代码如何做网站b2b网站平台有哪些