如何解决是否应该将调用堆栈占用的内存考虑为空间复杂性?如果是这样,为什么堆排序的空间复杂度为O1?
在计算空间复杂度时,是否考虑了调用堆栈占用的内存?
否则,堆排序的空间复杂度为O(1)是合理的。
如果是这样,为什么堆排序O(1)的空间复杂度?
我知道maxHeap()是就地算法;因此,那里不需要辅助存储器。但是,递归调用maxHeap(),使其与输入数组的大小成比例。 (不是吗?)因此,在执行maxHeap()的同时,调用堆栈中占用的空间与数组的大小成比例。因此,空间复杂度应为O(n)。那是我的思考过程。
请更正我的错误。预先感谢。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。