数据结构与算法- 栈与队列的实现

                                                      栈与队列

             栈:又叫做后进先出(LIFO)表,对栈的基本操作只能是进栈(push)和出栈(pop)。而且这些操作只能在一个栈的栈顶进行。


                             
栈的实现:栈既可以用链表实现也可以用顺序表实现,但栈一般用顺序表(数组)实现。因为所有的操作都是在栈顶,那么在插入和删除的情况下,这两个表的时间复杂度都是一样的。在这个前提下,那么用数组实现的话,访问会比较快。


    队列(queue):也是一种表,但是一种先进先出的表(FIFO),队列的基本操作是入队(enqueue)和出队(dequeue),入队是在表尾实现的,出队是在表头实现的。


队列的实现:和栈一样,队列既可以用链表实现也可以用顺序表实现,但是一般用链表实现。如果用顺序表(数组)实现的话,如果对队列进行出队操作,那么所有的元素都得移动一位。这时候的时间复杂度是0(N)。但是可以用循环数组来减少时间复杂度。如果用链表实现,如果对队列进行出队操作,其时间复杂度只是0(1)。




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值