数据结构——栈和队列知识点总结

栈理论

  1. 栈是限定仅在表的一端进行插入和删除操作的线性表,允许插入删除的一端称为栈顶,另一端称为栈底,不含任何数据元素的栈称为空栈。
  2. 栈具有先进后出的特性

栈存储结构的实现

顺序栈,链栈,两栈共享空间

顺序栈和链栈的比较

  1. 顺序栈和链栈基本操作的时间复杂度均为O(1),因此唯一可以比较的是空间性能。
  2. 当栈使用的过程中元素个数变化比较大的时候用链栈,反之,应用顺序栈。

队列理论

  1. 队列是只允许在一端进行插入操作,另一端进行删除操作的线性表,允许插入的一端称为队尾,允许删除的一端称为队头
  2. 队列具有先进先出的特性。

队列存储结构的实现

循环队列,链队,双端队列

循环队列和链队的比较

  1. 循环队列和链队的基本操作的时间复杂度都为O(1),因此唯一可以比较的是空间性能。
  2. 作为一般规律,如果队列中元素数目变化比较大,应采用链队,反之,应采用循环队列,如果确定不会发生假溢出,也可以采用顺序队列。

你可能感兴趣的:(数据结构#知识点,队列,数据结构,栈)