“空间复杂性”是什么意思?

 

空间复杂性:
空间复杂性一词在许多地方被滥用于辅助空间。以下是辅助空间和空间复杂性的正确定义。

辅助空间是算法使用的额外空间或临时空间。

算法的空间复杂度是算法相对于输入大小所需的总空间。空间复杂度包括辅助空间和输入使用的空间。

例如,如果我们要在空间的基础上比较标准排序算法,那么辅助空间是一个比空间复杂度更好评判标准。合并排序使用O(n)辅助空间,插入排序和堆排序使用O(1)辅助空间。所有这些排序算法的空间复杂度都是O(n)。

下面我将谈一谈自己的看法:

一个算法的存储量包括输入数据所占的空间、程序本身所占的空间和辅助变量所占的空间。在对算法进行存储空间分析时,通常只考虑辅助变量所占的空间。

所以,空间复杂度是对一个算法在运行过程中临时占用的存储空间大小的量度,一般是问题规模n的函数,以数量级形式给出:例如S(n)=O(g(n)).

如果所需的额外空间相对于输入数据来说是个常数,则该算法为原地工作(就地工作)。

如果所需的存储量依赖于特定的输入,则通常按最坏的情况考虑。

在平时接触的算法中涉及的空间要求不那么高,遇到可以多加总结。

    原文作者:wongyi
    原文地址: https://www.cnblogs.com/wongyi/p/7675941.html
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞