本章依旧建立开始两篇文章的基础上(冒泡排序、插入排序的传送门)
一.快速排序
来自Wiki的介绍:
Quicksort(有时称为分区交换排序)是一种O(N log N)有效 排序算法,用作按顺序放置数组元素的系统方法。由英国计算机科学家Tony Hoare于1959年开发[1]并于1961年发表,[2]它仍然是一种常用的排序算法。如果实施得当,它可以比其主要竞争对手快两到三倍,合并排序和堆垛。[3] [ 矛盾 ]
Quicksort是一种比较排序,意味着它可以对任何类型的项目进行排序,其中定义了“小于”关系(正式,总顺序)。在高效实现中,它不是稳定的排序,这意味着不保留相等排序项的相对顺序。Quicksort可以在阵列上就地操作,需要少量额外的内存来执行排序。它与选择排序非常相似,只是它并不总是选择最坏情况的分区。

本文介绍了Qt5中实现的三种经典排序算法:快速排序、基数排序和归并排序。快速排序是一种高效的排序算法,平均时间复杂度为O(n log n);基数排序则是一种非比较整数排序算法,适用于整数或字符的排序;归并排序是基于分而治之策略的稳定排序算法,由约翰·冯·诺伊曼发明。文章提供了每种排序算法的基本思想和代码实现,并建议读者通过实践加深理解。
最低0.47元/天 解锁文章
3100





