什么是空间复杂度(What is actually Space Complexity ?)

属于空间复杂度(Space Complexity)在很多情况下被错认为是附属空间(Auxiliary Space),下面是附属空间和空间复杂度的定义。

附属空间(Auxiliary Space)是算法使用的额外空间(extra space)或临时空间(temporary space)。

空间复杂度(Space Complexity)指的是算法使用的总空间包括输入使用的空间。

空间复杂度包含附属空间和输入使用的空间。

算法对存储空间的需求和解决的问题息息相关。空间复杂度通常用数量级表示,如O(N2)意味着如果问题(N)翻倍,解决问题算法对存储的需求要翻四倍。

当然如果要在空间的基准上比较标准算法附属空间是比空间复杂度更好的标准。归并排序使用O(n)附属空间,插入排序和堆排序使用O(1)附属空间,尽管这些算法的空间复杂度都是O(n)。

posted @ 2015-08-13 14:52  programnote  阅读(1140)  评论(0编辑  收藏  举报