表示堆栈的单链表

时间:2015-12-04 00:26:35

标签: java list stack singly-linked-list

为什么只有当节点之间的链接指向顶部(较新)到底部(较旧)的方向时,我们才能使用单链表来表示堆栈?

2 个答案:

答案 0 :(得分:2)

因为pop()之类的其他操作会使用O(n)而不是O(1),而与其他操作相同。 表示堆栈意味着访问最后插入的项目是最简单的(更少的时间)。

答案 1 :(得分:-1)

好吧,我现在明白了,删除单链表的头部需要O(1)时间并删除尾部需要O(n)时间,因为你必须进行线性搜索才能找到指向尾部的节点并使该节点指向null。因此,如果堆栈是从头到尾(每个指针指向堆栈顶部),则每次弹出时都需要O(n)而不是O(1)对于从头到尾实现的堆栈(每个指针指向底部)堆栈)。

相关问题