2种特殊的线性表,栈和队列
1. 栈(LIFO,后进先出):
a) 操作示意图:push()操作与pop()操作
b)栈的顺序存储结构:进栈/出栈操作均在数组尾部,时间复杂度=O(1);
i.缺陷:数组长度固定,长度不够时需扩容,消耗资源。
c)两栈共享空间:2个相同类型的栈,且空间需求呈相反关系。
d)栈的链式存储结构:保存栈顶指针,出栈与入栈的时间复杂度=O(1),且没有数据空间的限制
e)栈的应用:四则运算表达式求值
2. 队列(queue)(FIFO,先进先出)
a)示意图:
b)队列的书序存储结构:入列时间复杂度=O(1),出队列时间复杂度=O(n)
c)循环队列:解决出队列操作时间复杂度=O(n)的问题
d)队列的链式存储结构:入/出队列时间复杂度=O(1)
3.总结:在长度确定的情况下,用顺序存储结构;长度变化较大,用链式。
</div>
</div>
</article>