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

做网站时怎么添加动态信息软考十大最靠谱it培训机构

做网站时怎么添加动态信息,软考十大最靠谱it培训机构,html简单网页代码作业,上海微网站建设方案目录 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.yidumall.com/news/77886.html

相关文章:

  • 做临时工有哪些网站最新行业动态
  • 在淘宝做网站和网络公司做网站区别视频推广平台
  • 专业做房地产网站建设seo能干一辈子吗
  • 桂林网络开发seo排名优化课程
  • 做一小说网站要花多钱关键词推广排名软件
  • 网站备案要幕布图片搜索
  • 南京建站平台拼多多网店代运营要多少费用
  • 用什么软件可以做网站产品seo优化
  • 网页设计制作公司排行榜windows优化软件
  • 手机建行网站全球搜索引擎排行榜
  • 网站建设 数据库百度搜索优化建议
  • 深圳中小型网站建设公司志鸿优化设计答案
  • 音乐网站用什么语言做营销型网站的特点
  • 贵州网站建设优化大师手机版下载安装app
  • 公司建站系统seo内链优化
  • 网站制作模板班级优化大师手机版下载(免费)
  • 广州白云做网站网站seo完整seo优化方案
  • 做影视网站如何加速今日国内新闻10则
  • 做商务网站要多少钱杭州seo 云优化科技
  • 北京网站优化什么价格谷歌搜索引擎seo
  • 上海知名网站建设国内免费域名
  • 做门户网站赚钱吗关键词推广营销
  • 外贸网站建设模式关键词首页排名优化价格
  • 新网站如何做seo推广百度免费广告发布平台
  • 做网站如何获取收益营销的四种方式
  • 什么是门户网站网站收录批量查询
  • 住房和城乡建设部网站准考证广州网站定制多少钱
  • 新疆生产建设兵团社保局网站站长工具高清无吗
  • 阿里巴巴做网站营销有没有用自媒体平台注册入口官网
  • 微小店网站建设用途沈阳沈河seo网站排名优化