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

假快递单制作软件app上海seo优化服务公司

假快递单制作软件app,上海seo优化服务公司,定位器品牌,制作网站基本步骤目录 1. 原理 2. 代码实现 3. 性能分析 1. 原理 首先看一个题目,有n个数,取值范围是 0~n,写出一个排序算法,要求时间复杂度和空间复杂度都是O(n)的。 为了达到这种效果,这一篇将会介绍一种不基于比较的排序方法。这…

目录

1. 原理

2. 代码实现

3. 性能分析


1. 原理

首先看一个题目,有n个数,取值范围是 0~n,写出一个排序算法,要求时间复杂度和空间复杂度都是O(n)的。

为了达到这种效果,这一篇将会介绍一种不基于比较的排序方法。这种方法被称为计数排序。

计数排序的思路是这样的,对于每一个待排序元素a,如果知道了待排序数组中有多少个比它小的数,那么就可以直接知道在排序后的数组中 a 应该在什么位置上。比如,如果一个数组中有3个数是比a小的,那么,在排序后的数组里,a必然会出现在第4位。

现在问题转化成,对于待排序数组里的一个数,如何能快速知道比它小的数字有多少个。要解决这个问题,我们不能使用比较的办法,那样时间复杂度是无法降下来,只有换一个思路,以空间换时间。因为n个数的取值范围是 0~n,所以,不妨使用一个大小为 n 的数组来统计从0到n,每个数在待排序数组中出现的次数。这个数组类似于直方图数组,因为这种方式也被称做是基于统计的排序。直方图统计的思路简单清晰,在很多题目中都会有出现,一定要熟练掌握这种技巧。

强调:计数排序适合排序一组集中的数据。

2. 代码实现

    //计数排序public static void countSort(int[] array) {//1. 找到待排序数组的范围,也就是找到最大值和最小值int max = array[0];int min = array[0];//循环遍历找寻最小值和最大值for (int i = 1; i < array.length; i++) {if (array[i] > max)max = array[i];if (array[i] < min)min = array[i];}//计算待排数组的长度int len = max - min + 1;//2. 定义一个计数数组int[] count = new int[len];//3. 遍历array数组,把数据计数到计数数组中for (int i = 0; i < array.length; i++) {count[array[i] - min]++;}//4. 将array数组还原int index = 0;//来控制array数组的下标for (int i = 0; i < array.length; i++) {//这个循环的作用,是把count里面标记的数据取出来while (count[i] > 0) {array[index] = i + min;index++;count[i]--;}}}public static void main(String[] args) {int[] a = {5,4,3,2,1};Sort.countSort(a);for (int x : a) {System.out.print(x + " ");}}

3. 性能分析

时间复杂度空间复杂度
O(MAN(N,范围))O(N)
对数据的范围敏感对数据的范围敏感

http://www.zhongyajixie.com/news/38548.html

相关文章:

  • 网络搭建百度百科优化设计答案大全
  • 模板网站怎么样小红书关键词检测
  • wordpress hacker主题广州网站优化方案
  • 网站建设素材图南京seo培训
  • 网站开发系统论文网店运营培训哪里好
  • 做空间的网站广州网站设计专注乐云seo
  • 怎么做英文的网站首页合肥优化
  • 政府门户网站建设依据此网站服务器不在国内维护
  • 温州网站建设公司有哪些百度招聘电话
  • 海门市住房和城乡建设局网站整合营销传播
  • 校园网站建设方向巨量千川广告投放平台
  • 网站做广告投放 要求做效果评估合肥seo优化外包公司
  • 电商网站搭建使用 ahrefs 进行 seo 分析
  • 沈阳建设工程信息网官方网站汕头seo服务
  • 提供网站建设制作怎么查找关键词排名
  • 企业网站建设记什么会计科目线上推广方案怎么做
  • 有模板怎么做网站企业网站定制开发
  • 电子商务网站建设策划书例子潍坊网站建设优化
  • dw企业网站设计网站建设苏州
  • 工商做年报网站品牌网站建设制作
  • 学做网站在哪里快速排名软件seo系统
  • 美食网站建设多少钱怎么在百度推广
  • 河北网络公司网站建设福州360手机端seo
  • 设计公司门头设计武汉seo公司排名
  • 做淘宝这种网站线上营销策略都有哪些
  • 手机搭建网站教程视频教程成都百度关键词排名
  • 网站区域名怎么注册台湾永久免费加密一
  • 靠谱的写作网站站长之家seo查询
  • 做网站没有高清图片怎么办seo营销优化软件
  • 可以拔下来做的网站吗北京外贸网站优化