算法的空间复杂度S(n)定义为该算法所耗费的存储空间,它是问题规模n的函数。记为 S(n) = O(g(n)) 一个程序在执行时除需要存储空间来存放本身所用的指令、常数、变量和输入数据外,还需要一些对数据进行操作的工作单元和存储一些为实现计算所需信息的辅助空间。若输入数据所占空间只取决于问题本身,和算法无关,则只需分析除输入和程序之外的额外空间。 算法原地工作是指算法所需的辅助空间为常量,即O(1)。