两种算法的顺序组合的空间复杂度

时间:2018-01-25 20:54:26

标签: algorithm space-complexity

假设我有一个算法A,它是2种算法A1A2的组合。

算法A包括执行算法A1A2一个接着。算法A的输入分别是长度为mn 2个数组

算法A1的目标是修改 2个数组。总体而言,A1空间复杂度O(m^2 + n^2)

然后将修改后的数组发送到A2。而且我不需要算法A1占用的辅助空间。 A2空间复杂度O(mn)

那么整个算法(A1+A2)的整体空间复杂度应该是多少?它应该只是O(m^2 + n^2 + mn)吗?

然而,A1A2占用的空间不会同时发生,空间复杂性完全是关于某个时间点占用的最坏情况空间。那么编写O(max(m^2+n^2,mn))是否更合适?

1 个答案:

答案 0 :(得分:1)

从某种意义上说,你是对的,整体的空间复杂度应该是O(m^2 + n^2 + mn)。但是,自mn < max(m^2, n^2)以来,您可以将其删除,并将其写为O(m^2 + n^2)