栈
栈
标签(空格分隔): 数据结构和算法
理解栈
当某个数据集合只涉及在一端插入和删除数据,并且满足后进先出、先进后出的特性,我们就应该首选“栈”这种数据结构
![undefined](http://ww1.sinaimg.cn/large/005ROyqyly1gebl8ziqs9j30vq0mw417.jpg)
PHP实现
array_pop
array_push
array_shift
array_unshift
时间空间复杂度
时间空间复杂度都是O(1)
动态扩容的顺序栈
当数组空间不够时,我们就重新申请一块更大的内存,将原来数组中数据统统拷贝过去。这样就实现了一个支持动态扩容的数组
扩容情况下:最好情况时间复杂度是 O(1),最坏情况时间复杂度是 O(n)