排序:计数排序

目录

思想:

操作步骤: 

思路:

注意事项:

优缺点: 

代码解析:

完整代码展示:

思想:

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

操作步骤: 

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

思路:

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

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

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

注意事项:

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

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

优缺点: 

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

缺点:

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

代码解析:

完整代码展示:

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

我用 ChatGPT 做了一次探索性数据分析,真的太太太实用了!

ChatGPT 经过短短1年时间的发展,其功能越来越强,现在已经是大多数企业和个人不可或缺的助手。特别是最新的 GPT-4 版本,专门在左边菜单栏给出了两个工具(一个是数据分析,另一个是根据文字描述生成图片)&…

RT-Thread Studio学习(十六)定时器计数

RT-Thread Studio学习(十六)定时器计数 一、简介二、新建RT-Thread项目并使用外部时钟三、启用PWM输入捕获功能四、测试 一、简介 本文将基于STM32F407VET芯片介绍如何在RT-Thread Studio开发环境下使用定时器对输入脉冲进行计数。 硬件及开发环境如下…

使用pyechart创建折线图

import json from pyecharts.charts import Line from pyecharts import options# 首先使用文件打开数据 f_us open(Desktop/python/Project/数据可视化/美国.txt,r,encoding"UTF-8") f_rb open(Desktop/python/Project/数据可视化/日本.txt,r,encoding"UTF-8…

springboot106大学城水电管理系统

简介 【毕设源码推荐 javaweb 项目】基于springbootvue 的大学城水电管理系统 适用于计算机类毕业设计,课程设计参考与学习用途。仅供学习参考, 不得用于商业或者非法用途,否则,一切后果请用户自负。 看运行截图看 第五章 第四章 …

密码学学习笔记(二十四):TCP/IP协议栈

TCP/IP协议栈的基础结构包括应用层、传输层、网络层、数据链路层和物理层。 应用层 应用层位于TCP/IP协议栈的最顶层,是用户与网络通信的接口。这一层包括了各种高级应用协议,如HTTP(用于网页浏览)、FTP(用于文件传输…

c# 自定义 滑块TrackBar

辛苦半天做出来的,如果觉得好用,记得点赞 效果图如下: 具体操作: 1 、添加代码(代码在下面),重新生成下整个工程,在工具栏中就出现控件,将控件拖到窗体中 2、只需要调整…

【Qt5】QString的成员函数trimmed

2024年1月19日,周五下午 QString 的 trimmed 方法是用于移除字符串两端的空白字符(空格、制表符、换行符等)的方法。它返回一个新的字符串,该字符串是原始字符串去除两端空白后的结果。 下面是一个简单的示例: #incl…

瑞_Java开发手册_(六)工程结构

文章目录 工程结构的意义(一) 应用分层(二) 二方库依赖(三) 服务器 🙊前言:本文章为瑞_系列专栏之《Java开发手册》的工程结构篇,主要介绍应用分层、二方库依赖、服务器。由于博主是从阿里的《Java开发手册》学习到Java的编程规约&#xff0c…

往docker中cloudbeaver的容器添加达梦数据库、impala数据库连接支持(cloudbeaver添加自定义数据连接)

cloudbeaver默认没有开放impala连接,更不会支持国产数据库了 docker安装运行cloudbeaver可以参考文章:docker安装运行CloudBeaver并设置默认语言为中文 本文跳过cloudbeaver镜像拉取,直接就开始实现自定义数据库连接功能 1、初始化cloudbe…

MLILY梦百合上榜“2023中国家居行业价值100公司”

2024年1月16日,由搜狐焦点家居联合搜狐财经、搜狐科技、搜狐时尚等主流频道主办的“2023中国家居行业价值100公司”榜单正式公布。MLILY梦百合作为头部睡眠科技品牌,经线上投票和专家评审,凭借强大的创新力、产品力、品牌力、服务力,从千家候选企业中脱颖而出,并最终荣获“2023…

TLP184(GR-TPL,SE 晶体管输出光电耦合器的特性与概述

TLP184(GR-TPL,SE 是一种交流输入型光电耦合器,由一个光电晶体管组成,该光电晶体管与两个砷化镓红外发射二极管光学耦合。 TLP184(GR-TPL,SE封装在非常小且薄的SO6封装中,具有高抗噪声性和高隔离电压。 由于TLP184(GR-TPL,SE比DIP封装更小&…

navigateTo失效-跳转不了页面解决办法!uniapp\vue

改了一个小时多的错误,跳转页面无论怎么样都跳转不了,有2个问题: 注意:uniapp的报错可以在console里检查! 1.pages.json文件没有配置路径, 在pages:[ ]里面加 (根据自己的路径进行修改 {&qu…

嵌入式操作教程:7-1 基于CMOS数字摄像头的灰度转换实验

一、实验目的 学习灰度转换的原理,掌握OV2640 摄像头和VPIF总线的工作原理,实现OV2640 摄像头采集图像并进行实时灰度转换显示在 LCD 上。 二、实验原理 OV2640摄像头 OV2640 是世界上第一个 1/4 英寸 2 百万像素视频传感器,同时是 OmniV…

SCSI/UFS储存架构/协议/电源管理/命令处理流程

UFS子系统架构 1.UFS协议 无论是ufs host controller部分还是ufs device部分,他们都将遵循统一的UFS规范 UFS Application Layer(UAP)应用层 1.UFS command set (UCS) UCS处理命令集,如读、写命令等,.使用的命令是简化的SCSI命令(…

【01】mapbox js api加载arcgis切片服务

需求: 第三方的mapbox js api加载arcgis切片服务,同时叠加在天地图上,天地图坐标系web墨卡托。 效果图: 形如这种地址去加载http://zjq2022.gis.com:8080/demo/loadmapboxtdt.html 思路: 需要制作一个和天地图比例…

2023年度因子大盘点

基本信息: 指标说明: 2023年市场表现最佳 2023年市场单项最佳 2023年各分域最佳因子

【昇思技术公开课笔记-大模型】Bert理论知识

NLP中的预训练模型 语言模型演变经历的几个阶段 word2vec/Glove将离散的文本数据转换为固定长度的静态词向量,后根据下游任务训练不同的语言模型ELMo预训练模型将文本数据结合上下文信息,转换为动态词向量,后根据下游任务训练不同的语言模…

从数据到决策:项目管理和度量领域必备技能

0、引言 “效率”作为得物技术部的关键词之一,大家在研发效能、会议效率、协作效率、办公效率等方面一直进行着持续地探索。在实际落地的过程中,为了更好地评估应用效果,往往需要将定性描述转换为可量化的数据指标。这些数据指标可以帮助我们…

【大咖云集】2024年机械应用与机器视觉研究国际会议(ICMAMVR 2024)

2024年机械应用与机器视觉研究国际会议(ICMAMVR 2024) 2024 International Conference on Mechanical Applications and Machine Vision Research 数据库:EI,CPCI,CNKI,Google Scholar等检索 一、【会议简介】 2024年机械应用与机器视觉研究国际会议(ICMAMVR 2024)将…

C和指针课后答案

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、pandas是什么?二、使用步骤 1.引入库2.读入数据总结 前言 第八章课后答案 提示:以下是本篇文章正文内容,下面案例可供参…