Radix Sorts

Sorting Bound

顺序比较算法的时间复杂度的下界

NlogN

只要是顺序比较

最坏情况下时间复杂度不可能比这个更好

因为要确定N个的关系,至少要lgN!次比较

数学上,lgN!又近似NlogN

计数排序

时间复杂度

o(N + R)

  • 创造一个R大小的数组储存计数 R
  • 计数每个出现的次数 N
  • 计算每个item的目标位置 R
  • 创造一个N大小的数组储存排序好的数据
  • 复制

如果N大于R(字母表),用计数排序比较好

而且是稳定的(相同元素不用排序)

对比

插入排序:已经要排序好了的时候,时间复杂度o(N)

合并排序:什么时候都是NlogN(它是最快的而且稳定的排序)

快速排序:如果是随机的,他就是最快的,但是不是稳定的

LSD Sort

从右到左的列开始排序,根据优先级进行计数排序

对比

相同的元素多:LSD更快

不同的元素多:merge sort更快

相关推荐
神仙别闹16 小时前
基于C++生成树思想的迷宫生成算法
开发语言·c++·算法
CoovallyAIHub16 小时前
南京理工大学联手百度、商汤科技等团队推出Artemis:用结构化视觉推理革新多模态感知
深度学习·算法·计算机视觉
天才少女爱迪生16 小时前
图像序列预测有什么算法方案
人工智能·python·深度学习·算法
cici1587416 小时前
3D有限元直流电阻率法正演程序
算法·3d
黑色的山岗在沉睡16 小时前
滤波算法数学前置——线性化
线性代数·算法
t1987512816 小时前
火电机组热经济性分析MATLAB程序实现
人工智能·算法·matlab
Hello娃的16 小时前
【半导体】肖特基接触AND欧姆接触
人工智能·算法
橘颂TA16 小时前
【剑斩OFFER】算法的暴力美学——交易逆序对的总数
数据结构·算法·leetcode
xiyuping2416 小时前
强化学习之——moutaincar
算法·机器学习
小画家~16 小时前
第三十七:类型断言
开发语言·c++·算法·golang