我正在编写一份报告,作者撰写了以下有关空间复杂性的部分:
空间复杂性是指占用的空间量。有两种方法可以查看指令和数据。 对于今天的计算机,指令空间 - 或者需要多少代码 - 在两者中不那么重要。 当存储空间非常昂贵且每个字符都被计算时,它应用最多。今天的TB级硬盘驱动器使其不太相关,但是短代码仍然更具可读性,而且通常更快。 第二个,也是更重要的是数据空间。这是运行算法所需的内存。随着算法的处理,它需要内存存储。如果每次迭代过程都处理的数据太多,它可能会导致计算机崩溃。 在所有条件相同的情况下,需要很少指令和数据空间的算法才是最佳选择。
据我所知,这在事实上是不正确的,因为处理器的缓存仍然有限,并且指令的大小仍然很重要。事实上,今天你更喜欢用你的算法耗尽处理器缓存而不是RAM。但是,我不确定我的想法是否正确,我想在与编写该部分并要求编辑的作者提出这个问题之前先讨论一些问题。