首页 > 其他 > 详细

栈和队列

时间:2014-02-18 14:30:27      阅读:357      评论:0      收藏:0      [点我收藏+]

2种特殊的线性表,栈和队列

1. 栈(LIFO,后进先出):

bubuko.com,布布扣

a) 操作示意图:push()操作与pop()操作

bubuko.com,布布扣

b)栈的顺序存储结构:进栈/出栈操作均在数组尾部,时间复杂度=O(1);

i.缺陷:数组长度固定,长度不够时需扩容,消耗资源。

c)两栈共享空间:2个相同类型的栈,且空间需求呈相反关系。

bubuko.com,布布扣

d)栈的链式存储结构:保存栈顶指针,出栈与入栈的时间复杂度=O(1),且没有数据空间的限制

e)栈的应用:四则运算表达式求值


2. 队列(queue)(FIFO,先进先出)

bubuko.com,布布扣

a)示意图:

bubuko.com,布布扣

b)队列的书序存储结构:入列时间复杂度=O(1),出队列时间复杂度=O(n)

bubuko.com,布布扣

c)循环队列:解决出队列操作时间复杂度=O(n)的问题

bubuko.com,布布扣

d)队列的链式存储结构:入/出队列时间复杂度=O(1)


3.总结:在长度确定的情况下,用顺序存储结构;长度变化较大,用链式。

bubuko.com,布布扣

 



栈和队列

原文:http://blog.csdn.net/y172158950/article/details/19346093

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!