上QQ阅读APP看书,第一时间看更新
小结
(1)栈和队列的共同点是,它们的数据元素都呈线性关系,且只允许在端点处插入和删除元素。
(2)栈是一种“后进先出”或者“先进后出”的数据结构,只能在一端进行元素的插入和删除。
(3)栈可以采用顺序栈和链栈两类存储结构。
(4)n个不同元素的进栈顺序和出栈顺序不一定相同。
(5)在顺序栈中,通常用栈顶指针指向栈顶元素,栈顶指针类型为int类型。
(6)在顺序栈中,进栈和出栈操作不涉及栈中其他元素的移动。
(7)无论是顺序栈还是链栈,进栈和出栈运算的时间复杂度均为O(1)。
(8)队列是一种“先进先出”或者“后进后出”的数据结构,只能从一端插入元素,另一端删除元素。
(9)队列可以采用顺序队和链队两类存储结构。
(10)n个元素进队的顺序和出队顺序总是一致的。
(11)顺序队中的元素个数可以由队头指针和队尾指针计算出来。
(12)循环队列也是一种顺序队,是通过逻辑方法使其首尾相连,解决非循环队列的假溢出现象。
(13)无论是顺序队还是链队,进队和出队运算的时间复杂度均为O(1)。
(14)在算法设计中通常用栈或者队列保存临时数据,如果先保存的元素先处理,采用队列;如果后保存的元素先处理,采用栈。