Welcome toVigges Developer Community-Open, Learning,Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
459 views
in Technique[技术] by (71.8m points)

关于堆排序和快速排序的空间复杂度

如题,我在网上看到的这两个时间复杂度分别是O(1)和$O(log_n)$。
对于快速排序(递归)的空间复杂度,在最好情况下(数组是不均匀的),那么它的空间复杂度是递归栈(树)的高度$O(log_n)$,在最坏情况下(数组是有序的),则为$O(n)$。

如果是要计算递归使用到的栈,那么堆排序不应该也去计算对应的递归栈深度吗?那么为什么是O(1)呢?


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

你好,堆排序的复杂度是O(nlogn)。


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to Vigges Developer Community for programmer and developer-Open, Learning and Share
...