可以理解为什么我们需要在静态队列中维护一个后端,但为什么有必要在动态队列中维护一个后端,我知道它使编程更容易并且减少了时间复杂度(b / c较小的循环是需要) 但是我们也应该在单链表中保持一个后方。
答案 0 :(得分:0)
队列的一个操作是将一个元素添加到队列的末尾(后面):入队操作。保持对队列后部的引用允许在恒定时间内实现入队操作(尽管,根据用作队列基础的较低级数据结构的类型,可能存在其他复杂性源。)
据我所知,它使编程更容易并减少了时间复杂度......但是我们也应该在单链表中保留一个后面的内容。
单链表不需要提供排队操作,因此不需要维护后指针。
但是,如果需要,可以用后指针增加单链表。
答案 1 :(得分:0)
据了解,为什么我们需要在静态队列中保持后部但是 为什么有必要在动态队列中维护一个后方
出于同样的原因。新元素被添加到一侧,旧元素通过队列概念的定义从另一侧增加。
......但是我们也应该在单链表中保留一个后方。
队列和单链表之间没有逻辑关系。队列可以由任何带下划线的容器实现,该容器支持来自对方的推送和弹出操作。
如果你想使用单链表作为带下划线的容器,那么你确实应该使用双面单链表来提高操作效率。
单面单链表更适合模拟堆栈而不是队列。