【发布时间】:2011-03-11 21:44:37
【问题描述】:
我很长时间以来一直面临这个问题。很少有作者说堆栈和队列是线性数据结构,很少是非线性的。哪一个是对的,为什么?
在维基百科中,队列是线性数据结构。我也相信它们是线性的,因为没有像树木那样的转移。然而,在尝试在线测试时,它被覆盖说这些是非线性的。
请准确回答我,这是真的,为什么。
【问题讨论】:
-
好的,现在你能澄清一下你所说的线性数据结构是什么意思吗?你做了哪些在线测试?
-
取决于什么样的队列。 FIFO 队列是线性的,而优先级队列不是(至少,如果它的实现是为了保持基本操作的快速性,则不是)。但是,如果您愿意,FIFO 队列和堆栈都可以使用优先级队列来实现。
-
至少有两个 C++ 概念可以被视为“线性”,即“连续”概念和“序列”概念。它们会导致截然不同的答案。
-
@MSalters:C++ 标准对某些功能有复杂性要求。这是我看到标题时首先想到的。
标签: c++ c data-structures