目前,我正在研究空间和时间复杂度分析。我有个问题。 如果我们创建一个队列,我们知道我们只需要这个队列来最多维护5000个元素。 此队列的空间复杂度应为O(1)?
答案 0 :(得分:1)
在您的问题的限制范围内,无论您执行多少操作,您的队列都不会超过5000个元素,因此其大小受常量(5000)限制。这就是O(1)大小复杂度的定义。
答案 1 :(得分:0)
我还没有像时间复杂性那样广泛地研究空间复杂性。我的研究来自https://www.quora.com/How-do-we-calculate-space-complexity
当我们添加到Size<队列中时我认为5000队列的空间复杂度将是O(N)。你正在增长队列,这将占用N *(元素大小)字节。
如果我的队列大小是> 5000,然后我将从队列中轮询top元素并将新元素添加到队列中。该操作是否会影响队列的空间复杂性?
如果您的队列处于最大容量(5000),并且在添加更多元素时要删除队列的第一个元素,则整体大小保持不变。当队列达到最大容量时添加其他元素现在是O(1)。
答案 2 :(得分:0)