algorithm - 如果 Queue 是使用数组实现的,那么最坏情况下的时间复杂度是多少?如何实现?

标签 algorithm data-structures queue time-complexity

队列是使用数组实现的。 我需要最坏情况的时间复杂度, 所以我认为 入队时间复杂度为 O(1),出队时间复杂度为 O(n),因为元素可能位于数组的末尾,因此到达并删除该元素需要 O(n) 的复杂度。 这个逻辑对吗?

最佳答案

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

关于algorithm - 如果 Queue 是使用数组实现的,那么最坏情况下的时间复杂度是多少?如何实现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54812096/

相关文章:

c++ - 如何使用大数组?

algorithm - 实现文本文件内容的索引

python - 链表 : Finding intersection of 2 linked lists by swapping their pointers after reaching the end of one of them

arrays - 查找大于排序数组给定键的最小数的索引,这两个函数返回相同的结果吗?

algorithm - 插入排序与插入排序与二进制插入排序

image - TensorFlow:在不打乱的情况下读取队列中的图像

c - FreeRTOS 队列结构 C

c# - 林克 : Checking how many times the same value consecutively

c - 调度贪心选择 p‌r‌o‌b‌l‌e‌m

发送包含 JAXB 元素的对象时出现 java.io.NotSerializedException