0
A
回答
1
唯一的错误是Pop
对于Queue as Linked List with pointer to front
应该是O(1)
。
为了完整起见,它可能是值得的,列出的操作的复杂性,如搜索任何元件,除去任何元件,由索引得到的,由索引中删除等
Queue作为链表(指针到前):
推送:您需要在末尾插入一个元素,但你只有一个指针开始,所以你需要通过所有元素来重复,以到达终点。
current = head
while (current.next != null)
current = current.next
current.next = newItem
流行:您需要删除的元素在开始的时候,所以你应该这样做,只需重新分配的指针开始到第二个元素。
removedItem = head
head = head.next
队列为链表(指针正面和背面):
推送:您需要在末尾插入一个元素,并有一个指针到结束,所以你可以在不变的时间添加它。
tail.next = newItem
tail = newItem
流行:同流行的单链表。
removedItem = head
head = head.next
堆栈作为链表:
推送:在开头插入一个项目,容易在固定时间做。
newItem.next = head
head = newItem
流行:删除的第一个项目,容易在固定时间做。
removedItem = head
head = head.next
堆栈作为数组:
推送:在最后一个索引插入项目,容易在固定时间做。
last = last+1
array[last] = newItem
流行:去年指数删除项目,容易在固定时间做。
removedItem = array[last]
last = last-1
相关问题
- 1. 用于图形数据结构的最差情况存储器
- 2. 最佳的数据库(MySQL的)结构,这种情况下:
- 3. 这种情况下最好的数据结构是什么?
- 4. 这种情况下最好的数据库结构是什么?
- 5. 什么是这种情况下最好的数据库结构?
- 6. 鉴于某种情况,如何决定数据结构?
- 7. preg_match PHP的各种情况
- 8. 推荐数据结构的这种使用情况
- 9. 使用Python数据结构来表示这种情况的最佳方式
- 10. 这种情况下的双向数据结构
- 11. 适合这种情况的数据结构(C)
- 12. 怎么样的数据结构树在这种情况下
- 13. 这种情况下最好的数据结构和算法是什么?
- 14. 这种情况下最佳数据结构的选择是什么?
- 15. 支持各种数据类型的数据结构
- 16. 残差图的最快数据结构
- 17. 以下情况下的数据结构如何? (最大堆栈)
- 18. 哪个数据结构在下列情况下是最优的
- 19. 构造替代对于这种情况
- 20. 哪种数据结构化/打字在这种情况下是首选
- 21. 哪种数据结构最好?
- 22. 什么是Trie数据结构的最佳/最差/平均情况大O运行时间?
- 23. 数据库体系结构/数组作为列/各种大小
- 24. 各种NSURLRequest CachePolicies的差异?
- 25. 在这种情况下使用的mysql表结构
- 26. NSMutableArray或NSMutableDictionary:哪种情况最适合这种情况?
- 27. 对于仿真系统,哪种数据结构最合适?
- 28. 我的mysql数据库结构应该如何在这种情况下?
- 29. 在这种情况下要考虑的有效C++数据结构
- 30. 以下情况下有用的数据结构