开发者社区> 问答> 正文

快速排序的思想是递归的,但是它的平均效率却是众多排序算法中最快的,为什么

快速排序的思想是递归的,但是它的平均效率却是众多排序算法中最快的,为什么

展开
收起
知与谁同 2018-07-18 10:34:37 1651 0
1 条回答
写回答
取消 提交回答
  • 杀人者,打虎武松也。
    任何通过把大问题分成小问题一一解决,再将其结果一一拼接起来的算法,都是不可能实现尾递归的。因为解决每个小问题的时候,必须保存得到此小问题的过程中的所有分块信息(调用帧)。你可以把所有递归算法写成循环算法,但是任何无法实现尾递归的算法,将其写成循环之后,也必然需要一个与其递归版本调用帧堆栈结构相同的堆栈数据结构来保存其调用帧数据。
    2019-07-17 22:55:19
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
数据+算法定义新世界 立即下载
袋鼠云基于实时计算的反黄牛算法 立即下载
Alink:基于Apache Flink的算法平台 立即下载