标签(空格分隔): 数据结构和算法

理解栈

当某个数据集合只涉及在一端插入和删除数据,并且满足后进先出、先进后出的特性,我们就应该首选“栈”这种数据结构

zhan.jpg

![undefined](http://ww1.sinaimg.cn/large/005ROyqyly1gebl8ziqs9j30vq0mw417.jpg)

PHP实现

array_pop
array_push

array_shift
array_unshift 

时间空间复杂度

时间空间复杂度都是O(1)

动态扩容的顺序栈

当数组空间不够时,我们就重新申请一块更大的内存,将原来数组中数据统统拷贝过去。这样就实现了一个支持动态扩容的数组

undefined

扩容情况下:最好情况时间复杂度是 O(1),最坏情况时间复杂度是 O(n)
原文地址:https://www.cnblogs.com/yanweifeng/p/12807233.html