【发布时间】:2016-06-22 06:00:23
【问题描述】:
我刚刚从教科书练习中得到了这个问题
“堆栈和队列 ADT 可以使用数组来实现。使用数组来实现哪个更简单?解释一下”
我认为首先使用数组可能不是实现堆栈和队列的最佳方式,因为数组中的空间是固定的,除非在每次溢出后调整它的大小。
我对此没有一个完美的回应,但其中哪一个更容易使用数组来实现?
【问题讨论】:
-
你说得对,数组并不完美,但你可以做到。考虑一下您需要跟踪堆栈和队列的内容。一个比另一个复杂度低...
-
你说得很好。他们的复杂性。 @John3136
-
另一方面,他们的方法不是都有 O(1) 时间复杂度吗? @John3136
-
不是时间复杂度。我在想@kusalananda 在他的回答中提出的思路。我只是想让你考虑一下,而不是给你答案。
-
我想说队列用数组实现起来更复杂,因为我已经在项目中实现了两个 ADT,虽然它们的时间复杂度为 O(1),但与维护队列相比,维护队列有很多代码堆栈@John3136
标签: data-structures stack queue