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

手机网站不收录广州公司网站建设推广

手机网站不收录,广州公司网站建设推广,东莞网站建设在哪里,北流网站建设制作目录 排序应用 常见的排序算法 BubbleSort冒泡排序 整体思路 图解分析 ​ 代码实现 每趟 写法1 写法2 代码NO1 代码NO2优化 时间复杂度 排序概念 排序:所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递…

目录

排序应用

常见的排序算法  

BubbleSort冒泡排序

整体思路

图解分析 ​

代码实现

每趟

写法1

写法2

代码NO1

代码NO2优化

时间复杂度


排序概念

排序:所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。

  • 稳定性:假定在待排序的记录序列中,存在多个具有相同的关键字的记录,若经过排序,这些记录的相对次 序保持不变,即在原序列中,r[i]=r[j],且r[i]在r[j]之前,而在排序后的序列中,r[i]仍在r[j]之前,则称这种排 序算法是稳定的;否则称为不稳定的。
  • 内部排序:数据元素全部放在内存中的排序。
  • 外部排序:数据元素太多不能同时放在内存中,根据排序过程的要求不能在内外存之间移动数据的排序。  

排序应用

排序的应用场景很多: 学校医院品牌的排名等等。

算法当中也常用,二分查找,去重算法等等。

常见的排序算法  

  • 冒泡排序
  • 直接插入排序&VS冒泡排序
  • 希尔排序(在插入排序的基础上)
  • 选择排序VS堆排序
  • 快速排序
  • 归并排序
  • 补充:外排序 
  • 排序的OJ题目
  • 排序的思想:先单趟再多趟,注意结束条件❗先局部再整体

BubbleSort冒泡排序

整体思路

  • 通过对待排序序列从前向后(从下标较小的元素开始),依次对相邻两个元素的值进行两两比较,若发现逆序则交换,使值较大的元素逐渐从前移向后部,就如果水底下的气泡一样逐渐向上冒泡。
  • 一趟:两两比较(若顺序则不交换,若逆序则交换)
  • 整体:重复上述过程,直到全部数组元素都每趟完成。
  • 优化:若某一趟发现,数组元素已经顺序不用继续冒泡下去,停止冒泡。(效率提高)

图解分析 

代码实现

每趟

  • n个数的下标是0~n-1
  • i每次从0开始,则比较的是下标为ii+1的数值
  • i每次从1开始,则比较的是下标为i-1i的数值
  • 注意:i每次从第一个数值开始冒泡,不是第j格数值开始冒泡
写法1
	//写法1for (int i = 0; i < n-1; i++){if (a[i] > a[i + 1])//i=n-1就越界了{Swap(&a[i], &a[i + 1]);}}
写法2
	//写法2for (int i = 1; i < n; i++){if (a[i - 1] > a[i])//i=n-1没有越界,{Swap(&a[i - 1], &a[i]);}}

代码NO1

void Swap(int* p1, int* p2)
{int tmp = *p1;*p1 = *p2;*p2 = tmp;
}void BubbleSort(int* a, int n)
{for (int j = 0; j < n; j++){//一趟for (int i = 0; i < n - 1 - j; i++)//i要从第一个开始交换{if (a[i] > a[i + 1])//i=n-1就越界了{Swap(&a[i], &a[i + 1]);}}}

代码NO2优化

void Swap(int* p1, int* p2)
{int tmp = *p1;*p1 = *p2;*p2 = tmp;
}void BubbleSort(int* a, int n)
{for (int j = 0; j < n; j++){//一趟bool exchange = false;for (int i = 0; i < n - 1 - j; i++)//i要从第一个开始交换{if (a[i] > a[i + 1])//i=n-1就越界了{Swap(&a[i], &a[i + 1]);exchange = true;}}if (exchange == false){break;}}
}

时间复杂度

 时间复杂度:经典的O(N^2)

 

🙂感谢大家的阅读,若有错误和不足,欢迎指正!

http://www.15wanjia.com/news/160809.html

相关文章:

  • 汕头网站上排名宁波哪里有网站建设高端的
  • 怎么下别人wordpress模板什么是优化
  • 手机商城网站建设设计方案软件开发前端需要学什么
  • seo入门培训班石家庄百度快照优化
  • 国外服务器做网站不能访问提供网站建设工具的品牌
  • 青岛的网站建设公司做网站编辑好吗
  • 能进外国网站看视频的浏览器建筑模板规格尺寸
  • 360任意看地图网站黄村网站开发公司
  • 张掖艺能网站建设wordpress 侧边导航菜单
  • 网站微信开发制作网站教程
  • 做网站的流程是怎么样的淘宝商城正品
  • 设计公司网站页面设计东莞网站建设 乐云seo
  • 石家庄医院网站建设wordpress 阿里云主机名
  • 首页重庆网站建设个人如何办网站
  • 电子商务网站的设计面试学校网站开发
  • 哈尔滨网站关键词优化网站设计模版免费下载
  • 在游戏网站做中介合法互联网包括哪些方面
  • com网站是用什么做的js做音乐网站
  • 网站建设需要用到iis吗设计制作第一架中国飞机的是谁
  • 公司网站建设多少钱seo的方式包括
  • 简单网站制作教程广州低价网站建设
  • 网站开发用到哪些技术网店托管代运营费用多少钱
  • 营口沿海开发建设有限公司网站wordpress 后台演示
  • 网站建设需要多少钱知乎漂亮的个人网站
  • 北京网站sem、seo百度搜索推广方法
  • 网站做动态图片廉政建设网评文章网站
  • 手机网站模板 网址深圳设计网站推荐
  • wordpress建网站的优点天河网站建设价格
  • wordpress流量统计网站的优化公司
  • 哈尔滨做网站公司有哪些产品开发流程8个步骤图