C#算法之计数排序

        算法释义:计数排序是一种非基于比较的排序算法,它不依赖于比较操作来确定元素的顺序,而是通过键值索引直接确定元素的输出位置。计数排序适用于一定范围内的整数排序。为什么说是一定范围之内呢?原因如下:计数排序的复杂度为Ο(n+k)(其中k是整数的范围),这是一种牺牲空间换取时间的做法,而且当O(k)>O(n*log(n))的时候其效率反而不如基于比较的排序。

        这个算法不太常用,基本的示例代码如下:

    public static void Main(){int[] array = { 3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5 };int[] sortedArray = Countsort(array);}public static int[] Countsort(int[] arr){int min = arr.Min();int max = arr.Max();int range = max - min + 1;int[] count = new int[range];int[] sorted = new int[arr.Length];foreach (int i in arr){count[i - min]++;}for (int i = 1; i < count.Length; i++){count[i] += count[i - 1];}for (int i = arr.Length - 1; i >= 0; i--){sorted[count[arr[i] - min] - 1] = arr[i];count[arr[i] - min]--;}return sorted;}

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

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

相关文章

住宅ip与数据中心ip代理的区别是什么

代理通常意味着“替代”。它是用户设备和目标服务器之间的中介&#xff0c;允许在不同的IP地址下上网。代理ip根据来源分类可分住宅ip与数据中心ip&#xff0c;二者之间区别是什么呢&#xff1f; 住宅ip是由互联网服务提供商(ISP)提供给家庭的IP地址。出于这个原因&#xff0c…

灾备建设中虚拟机备份自定义数据块大小应用

灾备建设中&#xff0c;传输备份数据时&#xff0c;自定义数据块大小可以帮助优化数据传输和存储效率。 确定数据块大小&#xff0c;首先&#xff0c;需要确定合适的数据块大小。这可以根据备份数据量和网络带宽来决定。通常情况下&#xff0c;较小的数据块可以更好地适应网络…

Linux各目录及每个目录的详细介绍

目录 /bin 存放二进制可执行文件(ls,cat,mkdir等)&#xff0c;常用命令一般都在这里。 /etc 存放系统管理和配置文件 /home 存放所有用户文件的根目录&#xff0c;是用户主目录的基点&#xff0c;比如用户user的主目录就是/home/user&#xff0c;可以用~user表示 /us…

华为开源自研AI框架昇思MindSpore应用案例:在ResNet-50网络上应用二阶优化实践

常见的优化算法可分为一阶优化算法和二阶优化算法。经典的一阶优化算法如SGD等&#xff0c;计算量小、计算速度快&#xff0c;但是收敛的速度慢&#xff0c;所需的迭代次数多。而二阶优化算法使用目标函数的二阶导数来加速收敛&#xff0c;能更快地收敛到模型最优值&#xff0c…

三星硬盘格式化后怎么恢复数据

在数字化时代&#xff0c;硬盘作为数据存储的核心部件&#xff0c;承载着我们的重要文件、照片、视频等资料。然而&#xff0c;不慎的格式化操作可能使我们失去宝贵的数据。面对这样的困境&#xff0c;许多用户可能会感到无助和焦虑。本文旨在为三星硬盘用户提供格式化后的数据…

Jenkins的原理及应用详解(一)

本系列文章简介: Jenkins是一种自动化构建工具,它的出现使得软件开发过程变得更加高效、可靠和可持续。它采用了一种事件驱动的架构,能够通过触发不同的事件来执行相应的构建任务和操作。Jenkins支持多种版本控制系统的集成,可以自动从代码仓库中拉取最新的代码,并进行编译…

《操作系统》课程复习资料(下)

本文是对我的大学课程——《操作系统》的课程知识整理&#xff0c;分上下两个部分&#xff0c;本文为下半部分&#xff0c;上半部分详见《操作系统》课程复习资料&#xff08;上&#xff09; 目录 虚拟存储器 输入输出系统 虚拟存储器 虚拟存储器是指具有请求调入和置换功能…

在Linux系统上安装Conda安装教程

在Linux系统上安装Conda安装教程 在Linux系统上安装Conda&#xff0c;特别是Miniconda&#xff08;Conda的一个小型版本&#xff0c;包含conda、Python和一些必要的库&#xff0c;非常适合快速开始使用&#xff09;的步骤如下&#xff1a; 1. 准备工作 打开终端&#xff1a;首…

Unity ECS 对数据改变有两种方法,Entity command buffers (ECB)和EntityManager

1、创建&#xff0c;销毁Entity&#xff0c;以及对Entity的结构进行更改&#xff08;比如增加删除Component&#xff09;都要通过EntityManager等接口来实现。主线程实现Componet 数据操作修改 如下&#xff1a; [BurstCompile] public void OnUpdate(ref SystemState sta…

kNN 算法在 Elasticsearch 中的应用

kNN 算法在 Elasticsearch 中的应用 kNN 算法在 Elasticsearch 中的应用一、知识背景二、Elasticsearch的kNN算法三、Elasticsearch中kNN算法的应用Elasticsearch基于kNN算法的相关插件或模块使用kNN算法进行基于相似度的文本搜索使用kNN算法进行基于相似度的推荐系统构建 kNN …

geotrust企业通配符证书2990

随着时代的变化&#xff0c;人们获取信息的方式由报纸、书籍变为手机、电脑&#xff0c;因此很多企事业单位用户开始在互联网中创建网站来进行宣传&#xff0c;吸引客户。为了维护网站安全环境&#xff0c;保护客户数据&#xff0c;企事业单位也开始使用SSL数字证书&#xff0c…

ubuntu install vivado 2023

Downloads sudo mkdir /opt/vivado

C++语法|引用的本质、左值引用、右值引用

推荐一篇博客&#xff0c;讲的非常详细&#xff0c;本文主要从汇编角度分析了他们到底是个啥 详解 C 左值、右值、左值引用以及右值引用 文章目录 引用的基本概念CPU 眼里的引用和指针左值和右值1.左值2.右值总结 左值引用const左值引用的本质 右值引用右值引用的使用汇编角度理…

算法练习day7

四数相加II 代码随想录 0454.四数相加II 454. 四数相加 II - 力扣&#xff08;LeetCode&#xff09; &#xff08;用时&#xff1a;0.5小时&#xff09; 思路 本道题是需要在四个数组中&#xff0c;各找一个数&#xff0c;这些数加起来能够等于0&#xff0c;那么就是答案元…

onnx模型截取部分

这个是有需求的&#xff0c;比如有多个输入节点&#xff0c;我只用其中几个&#xff0c;或有多个输出节点&#xff0c;我只用其中几个。 比如这个输入&#xff0c;我们可以直接把transpose去掉&#xff0c;用类pytorch的N,C,H,W的格式输入。 还有如下输出&#xff1a; tran…

喜报|才聚荣获“2024年度PMI(中国)注册教育机构杰出机构奖”!

5月10日&#xff0c;“2024PMI&#xff08;中国&#xff09;注册教育机构合作伙伴大会”隆重举行&#xff0c;才聚集团受邀参加此次盛会。 本次大会就项目管理职业生态、发展趋势等热门问题进行了深入探讨分析。 PMP认证自1999年引入中国&#xff0c;为国家培养了大量项目管理…

Springboot+Vue项目-基于Java+MySQL的宠物商城网站系统(附源码+演示视频+LW)

大家好&#xff01;我是程序猿老A&#xff0c;感谢您阅读本文&#xff0c;欢迎一键三连哦。 &#x1f49e;当前专栏&#xff1a;Java毕业设计 精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; &#x1f380; Python毕业设计 &…

618有什么好物推荐?618平价好物清单,让你买到物超所值的好货!

618大促即将开启&#xff0c;大家是不是已经跃跃欲试&#xff0c;准备大肆采购一番了呢&#xff1f;别心急&#xff0c;让我为你揭晓几款数码、家居领域中的明星产品。这些好物不仅实用&#xff0c;而且性价比超高&#xff0c;让你在享受购物乐趣的同时&#xff0c;也能买到真正…

人工智能的未来:Sam Altman 揭穿搜索引擎谣言,调侃 ChatGPT 和 GPT-4 的“神奇”更新

人工智能的未来&#xff1a;Sam Altman 揭穿搜索引擎谣言&#xff0c;调侃 ChatGPT 和 GPT-4 的“神奇”更新 概述 科技界充斥着有关人工智能研究先驱组织 OpenAI 将推出类似谷歌搜索引擎的传言。然而&#xff0c;首席执行官 Sam Altman 已经平息了这些谣言&#xff0c;并透露…

大小写绕过与双写绕过

大小写绕过 这是最简单也是最无用的绕过方式&#xff0c;可以利用的原因有两个&#xff1a;SQL语句对大小写不敏感、开发人员做的过滤过于简单。 双写绕过 双写绕过的原理是后台利用正则匹配到敏感词将其替换为空 例如&#xff1a;敏感词为 informtain 时&#xff0c;我们编…