数据结构与算法之排序算法

如你所知,排序算法是学习数据结构与算法中非常重要的一个模块。一般衡量一个排序算法会从时间复杂度,空间复杂度,排序方式,排序稳定性等方面进行分析。

快速排序(简称快排)为一种非常经典的排序算法,是一种比较的,综合时间复杂度 O(nlogn),空间复杂度 O(logn) 的不稳定性算法。

快排是基于分治算法思想的经典应用,更是常年来在考研升学,求职面试中的老朋友。因此掌握好快排可以说是我们程序员的必备技能之一。并且快排可以衍生出更多的技巧和知识,如随机优化,快速选择等技巧。

分治算法

什么是分治算法?

分治即分而治之。分治是一种 "并行"算法,通过将大问题分解为一个个小问题逐个击破。这种思路天然的适合使用递归表示。

一般分治算法可以分为三个步骤:

  • 分解:把问题分解成独立的子问题
  • 解决:递归的解决子问题
  • 合并:将子问题的结果合并成原来问题的结果
相关推荐
信奥卷王6 小时前
[GESP202609 六级] 分树规划
算法
夏幻灵6 小时前
LeetCode 21:合并两个有序链表——双指针与哑节点详解
算法·leetcode·链表
徐小黑ACG8 小时前
Golang 基础05 结构体struct
开发语言·算法·golang
Navigator_Z8 小时前
LeetCode //C - 1286. Iterator for Combination
c语言·算法·leetcode
北极有牛9 小时前
cpp学习笔记--常量指针
java·开发语言·算法
GPU实战笔记9 小时前
云端 GPU 训练的账户余额提醒:它能说明什么,不能说明什么?
深度学习·算法·成本管理·gpu云计算·云端训练
浮链序9 小时前
怎么证明"你这个模型是偷我的"——把蒸馏变成取证工具
算法·安全·llm
小O的算法实验室9 小时前
IEEE TMC,面向异构物联网的多目标量子行为拓扑优化算法
算法
liliangcsdn10 小时前
派息率指标的应用探索和分析
大数据·算法