| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 数据结构与算法 -> 算法 | 基础 - [排序] -> 正文阅读 |
|
[数据结构与算法]算法 | 基础 - [排序] |
INDEX§1 各排序算法的对比
稳定性
局限
改进或调整(综合排序)
§2 基于比较的排序§2.1 选择排序执行 n 轮 §2.2 冒泡排序执行 n 轮 §2.3 插入排序执行 n 轮 §2.4 归并排序数组拆分两边,
归并的作用:
复杂度:
O
(
n
?
log
?
n
)
O(n * \log{n})
O(n?logn),
O
(
n
)
O(n)
O(n) §2.5 快速排序整个过程如下
§2.6 堆排序堆排序是使用堆的特性进行排序
复杂度: O ( n ? log ? n ) O(n * \log{n}) O(n?logn), O ( 1 ) O(1) O(1) §3 基于数据状况的排序(统计排序)§3.1 计数排序统计公司所有年龄的员工的个数,如 [20,50,10,60,30,60…]
§3.2 基数排序基于桶
常规对数值的排序先参考最高位,因为最高位权重最大,然后参考权重的下一位,以此类推 而基数排序则是将这个过程反过来,通过一轮进桶出桶保证低位的有序性 复杂度: O ( n ? log ? w e i g h t n ) O(n * \log_{weight}{n}) O(n?logweight?n), O ( n ) O(n) O(n) 基于词序表
复杂度:
O
(
n
?
log
?
w
e
i
g
h
t
n
)
O(n * \log_{weight}{n})
O(n?logweight?n),
O
(
n
)
O(n)
O(n) |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/25 21:27:23- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |