Algorithm 如果队列是使用数组实现的,那么它将是什么';最坏情况下的时间复杂度以及如何计算?

Algorithm 如果队列是使用数组实现的,那么它将是什么';最坏情况下的时间复杂度以及如何计算?,algorithm,data-structures,queue,time-complexity,Algorithm,Data Structures,Queue,Time Complexity,队列是使用数组实现的。 我需要最坏的时间复杂度, 所以,我想 排队将是O(1),而出列将是O(n),因为元素可能位于数组的末尾,所以需要O(n)复杂度才能到达它们的位置并删除该元素。 这个逻辑正确吗?不,它将是O(1)您实际上只是将指向最后一个元素的指针更改为它前面的一个。您的队列永远不应该搜索到只包含指向最后一个元素的指针的结尾。队列称为FIFO结构,因为进入的第一个元素将是队列中的第一个元素。因此,考虑到要出列的元素始终位于数组的相同位置,复杂性将为O(1)

队列是使用数组实现的。 我需要最坏的时间复杂度, 所以,我想 排队将是O(1),而出列将是O(n),因为元素可能位于数组的末尾,所以需要O(n)复杂度才能到达它们的位置并删除该元素。
这个逻辑正确吗?

不,它将是O(1)您实际上只是将指向最后一个元素的指针更改为它前面的一个。您的队列永远不应该搜索到只包含指向最后一个元素的指针的结尾。

队列称为FIFO结构,因为进入的第一个元素将是队列中的第一个元素。因此,考虑到要出列的元素始终位于数组的相同位置,复杂性将为O(1)