算法与数据结构--特殊有序集的线性时间排序算法

一.计数排序算法

基本思想:统计每个输入元素的个数,然后根据这些计数值重构原数组。

使用范围:需要知道元素大小范围,就是最大值是多少。

【排序算法】计数排序_哔哩哔哩_bilibili

二.基数排序

使用场景:只适用于整数

基数排序思路:

1.将待排序序列从个位到高位组织进不同的桶当中

【注:这是最低位优先法(LSD),而最高位优先法(MSD)是从高位到低位】

2.再按照从左到右的顺序从桶中将元素拿出

3.经过n轮操作后

4.序列整体有序

演示视频:

基数排序_哔哩哔哩_bilibili

三.桶排序

复杂度:O(m+n)

【排序算法】桶排序_哔哩哔哩_bilibili

相关推荐
浅念-24 分钟前
刷穿LeetCode:BFS 解决 Flood Fill 算法
数据结构·c++·算法·leetcode·职场和发展·bfs·宽度优先
做cv的小昊1 小时前
【TJU】研究生应用统计学课程笔记(8)——第四章 线性模型(4.1 一元线性回归分析)
笔记·线性代数·算法·数学建模·回归·线性回归·概率论
贾斯汀玛尔斯2 小时前
每天学一个算法--倒排索引(Inverted Index)
算法·inverted-index
小e说说2 小时前
打破偏科困境:这些学习软件助孩子重燃学习热情
算法
月昤昽2 小时前
autoCAD二次开发 4.正多边形与collection区分
算法·c#·二次开发·autocad二次开发
休息一下接着来3 小时前
C++ 固定容量环形队列实现
c++·算法
im_AMBER3 小时前
手撕hot100之矩阵!看完这篇就AC~
javascript·数据结构·线性代数·算法·leetcode·矩阵
笨笨饿3 小时前
#79_NOP()嵌入式C语言中内联汇编宏的抽象封装模式研究
linux·c语言·网络·驱动开发·算法·硬件工程·个人开发
如君愿3 小时前
考研复习 Day 30 | 习题--计算机网络 第五章(运输层 上)、数据结构 图(上)
数据结构·计算机网络·课后习题
weixin_421725263 小时前
C语言中volatile关键字怎么用C语言volatile在多线程中的作用
c语言·数据结构·运算符优先级·变量命名·volatile关键字