队列的特点是先进先出,这个特性套用python来实现的话,list最为方便
创建一个队列
queue = list()
向队列中插入一个数据 这里插入一个数字1
queue.append(1)
队列中出一个数据 使用pop可以指定下标,所以指定下标0为队列中第一个数据
queue.pop(0)
队列是一种非常简单的数据结构,面试的时候能考察的点很少,所以就很难考察到,一般面试就很少问有关队列的问题,又有问到的话一般是嵌入到别的题目中去考察。
栈的特点是先进后出,这个特性其实也可以套用python中的list来实现,
创建一个栈
stack = list()
压栈操作 向栈中压入数字1
stack.append(1)
弹栈操作
stack.pop()
栈在面试中很重要的原因在于递归和非递归的问题,而递归和非递归的问题又涉及到了链表二叉树排序算法搜索算法等,更涉及到计算机的一种重要的特点,将大问题化解成相同解法的小问题,所以栈在面试中出现的次数最多,当然和队列一样,一般并不会单独考察。
以下是队列和栈相关的一些面试题