标签: 快速排序

3 个内容

笔记(3)

快速排序是基于分治法的经典算法,平均时间复杂度O(N log N)。工程实践中,Lomuto和Hoare是常见分区策略,但需考虑随机化主元、三向切分等优化。迭代实现可避免栈溢出,现代优化包括混合排序、并行化、内存访问优化。选择合适策略需基准测试和内存分析。

Elliot Yang·
128 浏览

本文详解快速排序算法,该算法基于分治策略,通过选取主元并划分数组实现排序。文章讨论了主元选择策略(如随机主元、三数取中),并给出了TypeScript迭代版本的实现。传统递归快排存在堆栈溢出风险,迭代版本通过栈模拟解决了该问题。

Elliot Yang·
105 浏览

本文总结了常见的排序算法,包括选择排序、冒泡排序、插入排序、快速排序、堆排序、归并排序、计数排序和桶排序。针对每种算法,文章简述了其原理,并提供了 TypeScript 代码实现。这些算法在时间复杂度、空间复杂度和适用场景上各有特点。

Elliot Yang·
142 浏览