数据结构和算法

排序优化——如何实现一个通用的、高性能的排序函数

2018-10-23  本文已影响0人  seniusen

几乎所有的编程语言都会提供排序函数,比如 C 语言的 qsort(), C++ STL 中的 sort(),这些排序函数是如何实现的呢?

1. 如何选择合适的排序算法?

如果要实现一个通用的高效率的排序函数,我们应该选择那种排序算法呢?


2. 如何优化快速排序?

快速排序最坏情况下时间复杂度退化为 O(n^2) ,我们怎样来避免这种情况的发生呢?

2.1. 分区点优化问题

2.2. 堆栈溢出问题

快速排序是利用递归来实现的,当递归的的深度过深时,就会导致堆栈溢出。


3. C 语言的 qsort() 函数?


参考资料-极客时间专栏《数据结构与算法之美》

获取更多精彩,请关注「seniusen」!


seniusen
上一篇 下一篇

猜你喜欢

热点阅读