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

清河企业做网站宣传片制作标准

清河企业做网站,宣传片制作标准,沈阳做网站的互联网公司,如何看那个网站是那个公司做的简介 计数排序是一种线性时间复杂度的排序算法,它不依赖于元素之间的比较,而是通过统计数组中每个元素出现的次数,然后根据这些统计信息对元素进行排序。这种算法特别适用于整数且整数的范围不是非常大时。 算法步骤 找出数组中的最大值。…

简介

计数排序是一种线性时间复杂度的排序算法,它不依赖于元素之间的比较,而是通过统计数组中每个元素出现的次数,然后根据这些统计信息对元素进行排序。这种算法特别适用于整数且整数的范围不是非常大时。

算法步骤

  1. 找出数组中的最大值。
  2. 创建一个计数数组,长度为最大值加一。
  3. 遍历原数组,对每个元素在计数数组中对应的位置加一。
  4. 再次遍历计数数组,将每个非零元素按顺序累加到原数组。
//countingSort 方法接受数组和最大值作为参数,执行计数排序。
//首先创建一个计数数组,长度为最大值加一。
//遍历原数组,统计每个元素出现的次数。
//再次遍历计数数组,将非零元素累加到原数组。
//main 方法中,我们初始化一个数组,找出最大值,然后调用 countingSort 方法进行排序,并打印排序后的结果。
public class CountingSort {// 计数排序方法public static void countingSort(int[] arr, int maxVal) {int n = arr.length;int[] count = new int[maxVal + 1]; // 创建计数数组// 统计每个元素出现的次数for (int i = 0; i < n; i++) {count[arr[i]]++;}// 将计数数组中非零元素累加到原数组int index = 0;for (int i = 0; i < count.length; i++) {while (count[i] > 0) {arr[index++] = i;count[i]--;}}}public static void main(String[] args) {int[] arr = {4, 2, 2, 8, 3, 3, 1};int maxVal = getMaxVal(arr); // 找出数组中的最大值countingSort(arr, maxVal);// 打印排序后的数组for (int i = 0; i < arr.length; i++) {System.out.print(arr[i] + " ");}}// 辅助方法,找出数组中的最大值private static int getMaxVal(int[] arr) {int max = arr[0];for (int i = 1; i < arr.length; i++) {if (arr[i] > max) {max = arr[i];}}return max;}
}

优点

  • 时间效率:对于小范围整数排序,计数排序的时间复杂度是O(n+k),其中n是数组长度,k是整数的范围。
  • 稳定性:计数排序是稳定的排序算法,相等元素的相对位置不会改变。
  • 简单性:算法逻辑简单,容易实现。

缺点

  • 空间复杂度:计数排序需要额外的存储空间,其大小取决于整数的范围,空间复杂度为O(k)。
  • 适用范围:只适用于整数排序,对于非整数或整数范围非常大的情况,效率不高。

时间复杂度和空间复杂度分析

  • 时间复杂度:O(n+k),其中n是数组长度,k是整数的范围。
  • 空间复杂度:O(k),需要一个大小为k的计数数组。

使用场景

  • 当整数的范围k远小于数组长度n时,计数排序非常高效。
  • 适用于对固定范围的整数进行排序,如统计字符出现次数。
http://www.yayakq.cn/news/957139/

相关文章:

  • 房屋网站模板加快政务公开网站建设
  • 网站内链怎么坐锚文本wordpress 技术教程
  • 合肥昱天建设有限公司网站在闲鱼可以做网站吗
  • 网站数据库要多大网站班级文化建设方案
  • 宜宾住房与城乡建设部网站新公司成立如何建设网站
  • 软件开发是学什么企业网站seo方案
  • 用fullpage做的网站石家庄代运营公司
  • vs2019怎么创建网站找程序员的网站
  • 注册一个公司网站需要多少钱wordpress分销
  • 手机端网站首页怎么做wordpress 纯净版下载地址
  • 安徽东莞建设集团有限公司seo推广效果
  • 各大门户网站怎么做推广哈尔滨建设工程交易中心网站
  • 机械做卖产品网站宁波网站建设服务商
  • 电子商务网站后台需求硬件开发是什么专业
  • 网站备案网站名称国外产品设计网站推荐
  • 网站如何做h5动态页面网站建设公司专业网站开发需求
  • 上海城乡住房建设厅网站推广资讯
  • 手机网站排名怎么做网站建设需要什么方案
  • 旅游电子商务网站建设规划方案深圳模板网站建设设计公司
  • 宁波网站建设团队排名福州seo快速排名软件
  • 自己做网站处理图片用什么软件下载python 网站开发流程
  • 济南市城市建设规划局官方网站做特卖的网站怎么赚钱
  • 免费制作自己的网站长wordpress不能添加用户
  • 杨浦苏州网站建设提升关键词排名软件哪家好
  • 做水产有什么网站北京做网站公司
  • html网页爱心代码呼和浩特网站seo优化方案
  • 苏州网站建设优化过哦网站怎么建设?
  • 岗顶网站设计浙江省最新拟提任省管干部
  • 大学生心里健康网站设计与建设网站视频做背景
  • 辞职做美食网站开发网站赚钱