3.4 的链式存储结构★3◎3




3.4 的链式存储结构★3◎3

3.4 栈的链式存储结构★3◎3

  同样地,我们也可以采用线性链表来表示栈,如图3-3所示。

  以带头结点的单链表为例,当采用链式结构存储栈时,栈的各类操作的实现方法如表3-4所示。

表3-4 带头结点单链表实现栈

操作

实现方法

时间复杂度

栈初始化初始化链表L;top=L; 
获取栈元素数遍历链表O(n)
栈空判断L->next==NULL 
栈满判断 
入栈时关键操作在链表L头插入一个结点:ListInsert_L(L, 1, E);
Top=L不变
O(1)
出栈时关键操作删除链表L的第一个结点:ListDelete_L(L, 1, E);
Top=L不变
O(1)

  栈链式存储结构的特点:
  (1)入栈、出栈操作的时间复杂度为常数。
  (2)只要存储空间足够,就没有最大数据元素数的限制。
  (3)只需头指针或头结点就可以完成栈的各类操作。
  (4)在不增加新的存储空间的情况下,获取栈中元素数的算法时间复杂度为O(n)。

3.4 的链式存储结构★3◎3

2023考研秘籍

跟我一起考研吗?马上关注我分享独家资料您