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

一.计数排序算法

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

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

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

二.基数排序

使用场景:只适用于整数

基数排序思路:

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

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

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

3.经过n轮操作后

4.序列整体有序

演示视频:

基数排序_哔哩哔哩_bilibili

三.桶排序

复杂度:O(m+n)

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

相关推荐
纪念 2298 分钟前
C++ 算法(模拟)
开发语言·c++·算法
揽星河..11 分钟前
【C语言】函数
c语言·算法
zwc321043205514 分钟前
Day 2:图像内存、数据类型与stride
c++·人工智能·opencv·算法·计算机视觉
重生之小比特28 分钟前
【算法拾光】模拟|提莫攻击 + N 字形变换
算法·模拟
XiYang-DING38 分钟前
P4104.环形链表判断
数据结构·链表
東隅已逝,桑榆非晚1 小时前
AVL数实现
c++·笔记·学习·算法
驭渊的小故事1 小时前
LeetCode 算法题解:滑动窗口与数组合并的实战应用
算法·leetcode·职场和发展
.YM.Z1 小时前
优选算法——【双指针算法2】C++实现
开发语言·c++·算法
逆向编程1 小时前
MATLAB高级数据结构:cell、struct与table深度应用
开发语言·数据结构·matlab
zwc32104320552 小时前
第四周第五天——重构成类
c++·人工智能·opencv·算法·计算机视觉