排序:计数排序

news2024/9/29 11:30:28

目录

思想:

操作步骤: 

思路:

注意事项:

优缺点: 

代码解析:

完整代码展示:

思想:

计数排序又称为鸽巢原理,是对哈希直接定址法的变形应用。

操作步骤: 

  1. 统计相同元素出现次数
  2. 根据统计的结果将序列回收到原来的序列中

思路:

设立一个统计数组,统计数组的功能是存储 需要排序的数组内部的元素出现的次数。

且排序数组内部的元素 对应的是 统计数组的 下标。

最后根据统计数组的统计次数,来打印出全新的 有序的 数组。

注意事项:

因为需要排序的 数组 内部 元素可能最大最小值偏差过大,而这个数组内部的元素对应的是统计数组的下标,所以会导致统计数组的空间过大且浪费。

为了这个问题,需要进行一个相对映像进行调整。

优缺点: 

优点:效率极高O(aN + countN(范围))

缺点:

  1. 不适合分散的数据,更适合集中数据
  2. 不适合浮点数、字符串、结构体数据排序,只适合整数

代码解析:

完整代码展示:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1396154.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Baumer工业相机堡盟工业相机如何通过NEOAPI SDK使用Binning像素合并功能(C#)

Baumer工业相机堡盟工业相机如何通过NEOAPI SDK使用Binning像素合并功能(C#) Baumer工业相机Baumer工业相机NEOAPI SDK和短曝光功能的技术背景Baumer工业相机通过CameraExplorer软件使用Binning功能Baumer工业相机通过NEOAPI SDK使用Binning功能1.引用合…

2018年认证杯SPSSPRO杯数学建模C题(第二阶段)机械零件加工过程中的位置识别全过程文档及程序

2018年认证杯SPSSPRO杯数学建模 基于轮廓提取与图像配准的零件定位问题研究 C题 机械零件加工过程中的位置识别 原题再现: 在工业制造自动生产线中,在装夹、包装等工序中需要根据图像处理利用计算机自动智能识别零件位置,并由机械手将零件…

python数字图像处理基础(九)——特征匹配

目录 蛮力匹配(ORB匹配)RANSAC算法全景图像拼接 蛮力匹配(ORB匹配) Brute-Force匹配非常简单,首先在第一幅图像中选取一个关键点然后依次与第二幅图像的每个关键点进行(描述符)距离测试&#x…

爆推联盟,推广接单平台定制开发(智创有术)

爆推联盟官网、推广接单平台、很多朋友问我做项目要怎么做,项目怎么选?那些项目比较稳定靠谱,赚钱还不错的平台,其实网上的项目很多,别说做,看都看不过来,我们做项目最主要的就是稳定嘛&#xf…

智能化未来:NFC技术助力数字化社区

引言 数字化转型深刻改变着社区管理的方式,其中NFC技术作为一种近场通讯技术,正在为数字社区的智能化未来提供强有力的支持。 NFC技术简介 近场通讯技术(NFC)是一种无线通信技术,能够实现设备之间的近距离通讯。在数字社区建设中&#xf…

第一讲_HarmonyOS应用开发环境准备

HarmonyOS应用开发环境准备 1. 知识储备2. 环境搭建2.1 安装node.js2.2 配置node.js2.3 安装命令行工具2.4 安装DevEco Studio2.5 配置DevEco Studio 1. 知识储备 HarmonyOS提供了一套UI开发框架,即方舟开发框架(ArkUI框架)。方舟开发框架可…

#开发环境篇:HBuilderX自定义括号颜色激活时list和tab的背景色

Settings.json 配置 位置在 设置------> 源码设置里面 {"beautify.useProjectConfigFile": true,"browsers.config": {"Chrome.path": "C:/Program Files/Google/Chrome/Application/chrome.exe"},"defaultFomat.vue":…

判断SD-WAN是否适用于你的企业的关键问题

企业网络的演进已经将SD-WAN(软件定义广域网)推到了风口浪尖。不论企业规模如何,它们都在寻求适应不断变化的网络环境的最佳解决方案。尽管SD-WAN的部署带来了多方面的优势,但企业在决定是否采用SD-WAN时需要考虑一些关键问题。 关…

SafeTpack—基于AURIX 2G的功能安全目标解决方案

产品概述 SafeTpack是专门针对于英飞凌AURIX 2G系列芯片的功能安全解决方案,由英飞凌下属子公司Hitex按照ISO26262-10作为独立于环境的安全要素(SEOOC)研发。根据ISO26262-5中的要求,系统需要根据不同ASIL等级的要求,针…

目标文献分析方法

如何正确选题? 不仅仅是题目,而是研究工作的起步选题步骤? 发现问题选择方向调查研究分析论证确定选题 中国知网 深度学习方向词 1检索:深度学习 医疗影像 1 发表时间要最新 2 显示50个,全选 3 导出文献格式Ref 4 导…

JVM垃圾回收机制及思维导图

一、Java垃圾回收机制 在java中,程序员是不需要显示的去释放一个对象的内存的,而是由虚拟机自行执行。在JVM中,有一个垃圾回收线程,它是低优先级的,在正常情况下是不会执行的,只有在虚拟机空闲或者当前堆内…

官宣!Meta正在训练Llama 3,将继续开源

1月19日,全球社交、科技巨头Meta的联合创始人兼首席执行官-Zuck(扎克伯格)在is宣布,正在训练Llama 3并且以负责任地方式继续开源。 Zuck表示,预计到2024年底,Meta将拥有350,000块H100,如果算上…

JAVA SECS发送Report C#处理SECS Report SECS发送事件资料大全 S6F11 建立通讯S1F13

发送S6F11非常简单,只需5~6行代码,最核心是代码清晰易懂。 任何人都可以一看就能上手,如果说用代码可读性作为不可替代性的壁垒就无话可说了。 private void buttonS6F11_Click(object sender, EventArgs e) {int nTransaction 0;// 数据部…

Java中创建List接口、ArrayList类和LinkedList类的常用方法(一)

List接口 要了解List接口,就不得不说起Java的集合框架。 (该图来自菜鸟教程) Collection接口和Map接口 Java 集合框架主要包括两种类型的容器,集合Collection和图Map。 Collection接口代表了单列集合,它包含了一组…

画面滤镜特效SDK,企业级视频处理技术方案

视频处理技术日新月异,对于企业而言,如何快速、高效地处理视频内容,增加其观赏性和吸引力,成为了一项重要的挑战。美摄科技画面滤镜特效SDK,作为一款全面的视频处理工具,为企业提供了一种高效、灵活的视频处…

元宇宙:智慧城市建设的未来引擎与价值之源

在21世纪的技术大潮中,元宇宙的出现无疑是一场革命,其独特的概念与价值已经引发了全球范围内的关注。 作为新兴科技的前沿,元宇宙为智慧城市建设带来了无限的可能性和价值,有望成为未来城市发展的核心动力。 元宇宙,这…

虚拟线程探索与实践(JDK19)

优质博文:IT-BLOG-CN 一、简介 虚拟线程是轻量级线程,极大地减少了编写、维护和观察高吞吐量并发应用的工作量。虚拟线程是由JEP 425提出的预览功能,并在JDK 19中发布,JDK 21中最终确定虚拟线程,以下是根据开发者反馈…

JAVA实现向Word模板中插入Base64图片和数据信息

目录 需求一、准备模板文件二、引入Poi-tl、Apache POI依赖三、创建实体类(用于保存向Word中写入的数据)四、实现Service接口五、Controller层实现 需求 在服务端提前准备好Word模板文件,并在用户请求接口时服务端动态获取图片。数据等信息插…

【Week-P5】CNN运动鞋品牌识别

文章目录 一、环境配置二、准备数据三、搭建网络结构四、开始训练五、查看训练结果六、总结6.1 torch.optim.lr_scheduler.StepLR 等间隔动态调整6.2 lr_scheduler.LambdaLR 自定义学习率更新函数6.3 lr_scheduler.MultiStepLR 特定epoch中调整学习率6.4 本文四种学习率方法得到…

详细的说说mfc110u.dll丢失的解决方法分享,四种解决办法的详细步骤

在电脑运行过程中,有时会遇到各种各样的错误提示,比如“由于找不到mfc110u.dll,无法继续执行代码”,这不仅令人困扰,也影响了我们的工作和娱乐体验。如果你也在为mfc110u.dll缺失问题感到苦恼,那么你来对地…