栈和队列的理解

来源:互联网 发布:喀秋莎火箭炮 知乎 编辑:程序博客网 时间:2024/06/05 18:59

1. 作为缓存结构

栈和队列是计算机中使用最为广泛的缓存结构,其使用环境可以做如下总结:

  • 计算过程分为一些顺序进行的步骤(任何复杂一点的计算都是如此);
  • 计算中执行的某些步骤会不断产生一些后面可能需要中间数据
  • 产生的数据有些不能立即使用,但又需要在将来使用;
  • 需要保存的数据的项数不能事先(在编程时)确定;(长度如果确定,使用数组就可以了)

2. 实现方式

  • 栈:
    • 顺序栈
    • 链接栈

注意根据具体的应用场景确定实现方式,需要考虑顺序表的两个特性:

  • 扩大内存需要一次高代价操作;
  • 顺序表需要完整的大块存储区;

而对于链表技术,在这两个问题上均有自己的优势。链表实现的特点则是更多地依赖于解释器的存储管理,每个结点的链接开销,以及链接节点在实际计算机内存中任意散布可能带来的操作开销。

0 0
原创粉丝点击