数据结构-排序(来自于王道)

排序的基本概念

插入排序

在这个算法中,除了输入的数组本身,没有使用额外的数据结构来存储数据,所有的操作都是在原数组上进行的。因此,无论输入数组的大小 n 是多少,算法执行过程中所占用的额外空间是固定的,即空间复杂度为 O (1)。

如果空间复杂度是 O (n),通常意味着算法在执行过程中会随着输入数据规模 n 的增加而线性地增加额外的存储空间。例如,如果算法中使用了一个长度为 n 的辅助数组,那么其空间复杂度就是 O (n)。但在这个插入排序的实现中,并没有这种情况。

希尔排序

冒泡排序

快速排序

简单选择排序

堆排序

堆的插入删除

归并排序

基数排序(期末不考)

相关推荐
Jayden_Ruan2 小时前
C++分解质因数
数据结构·c++·算法
bubiyoushang8883 小时前
MATLAB实现雷达恒虚警检测
数据结构·算法·matlab
wu_asia3 小时前
编程技巧:如何高效输出特定倍数数列
c语言·数据结构·算法
星火开发设计3 小时前
C++ queue 全面解析与实战指南
java·开发语言·数据结构·c++·学习·知识·队列
橘颂TA4 小时前
【剑斩OFFER】算法的暴力美学——力扣 394 题:字符串解码
数据结构·c++·结构与算法
栈与堆4 小时前
LeetCode 19 - 删除链表的倒数第N个节点
java·开发语言·数据结构·python·算法·leetcode·链表
-森屿安年-5 小时前
unordered_map 和 unordered_set 的实现
数据结构·c++·散列表
txinyu的博客5 小时前
map和unordered_map的性能对比
开发语言·数据结构·c++·算法·哈希算法·散列表
im_AMBER6 小时前
Leetcode 101 对链表进行插入排序
数据结构·笔记·学习·算法·leetcode·排序算法
予枫的编程笔记6 小时前
【Java集合】深入浅出 Java HashMap:从链表到红黑树的“进化”之路
java·开发语言·数据结构·人工智能·链表·哈希算法