有人听说过或使用过滚动数据结构吗?有人可以解释一下它的工作原理吗?
我在讲义中看到了它,但没有提及它是如何工作的。它与序列堆栈和队列一起被提及
最佳答案
我怀疑这不是数据结构的规范名称,因为它不在 NIST 数据结构和算法页面上(并不是说该页面代表该主题的任何此类权威)。
但是,从我在 Google 上找到的几张幻灯片来看,它被描述为堆栈队列混合体,一旦融合两种抽象数据类型并从“滚动”名称推断出来,它就不会留下太多想象空间。 .
基本上,我们在这里讨论的是双端队列(或者双端堆栈,如果您愿意的话)。您可以弹出/推送(入队/出队)并从任一侧查看,但无法访问中间。想象一个真正的卷轴——你只需展开纸张即可在两端留出更多空间。我不清楚是否有一个实际的“头”节点(在中间的某个地方,你不能将队列或堆栈移到外面),但我怀疑没有。 (毕竟,您可以将卷轴放在纸张中您喜欢的任何位置。)
您可以在 Google 等网站上查找有关双端队列的更多信息,您会发现大量信息。
另一方面,a link非常简洁地提到了“滚动”的两个版本:上面提到的和上面提到的,除了你只能从“前面”出列。
这让我相信“混合”概念是一个非常松散的概念,因此缺乏定义,这让你有点不安。无论哪种情况,卷轴都是一种很好理解的结构,只是根据变体的不同而有不同的名称。
关于java - 滚动数据结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5913963/