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

一.计数排序算法

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

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

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

二.基数排序

使用场景:只适用于整数

基数排序思路:

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

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

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

3.经过n轮操作后

4.序列整体有序

演示视频:

基数排序_哔哩哔哩_bilibili

三.桶排序

复杂度:O(m+n)

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

相关推荐
C1829818257516 分钟前
项目中数据结构为什么用数组,不用List
数据结构
jerry60924 分钟前
优先队列、堆笔记(算法第四版)
java·笔记·算法
勤劳的牛马1 小时前
📚 小白学算法 | 每日一题 | 算法实战:加1!
算法
Epiphany.5561 小时前
基于c++的LCA倍增法实现
c++·算法·深度优先
一只码代码的章鱼1 小时前
学习笔记2(Lombok+算法)
笔记·学习·算法
jerry6092 小时前
c++流对象
开发语言·c++·算法
2301_817031653 小时前
C语言-- 深入理解指针(4)
c语言·开发语言·算法
·醉挽清风·3 小时前
学习笔记—双指针算法—移动零
c++·笔记·学习·算法
几点才到啊3 小时前
使用 malloc 函数模拟开辟一个 3x5 的整型二维数组
数据结构·算法
编程绿豆侠4 小时前
力扣HOT100之链表:23. 合并 K 个升序链表
算法·leetcode·链表