数据结构

数据结构是相互之间存在一种或多种特定关系的数据元素的集合。

队列(queue)

队列是只允许在一端进行插入操作,而在另一端进行删除操作的线性表。

队列是一种先进先出(First In First Out)的线性表,简称FIFO。 允许插入的一端称为队尾,允许删除的一端称为队头;

示意图如下:

栈(Stack)是一个后进先出(Last in first out,LIFO)的线性表,它要求只在表尾进行删除和插入操作。对于栈来说,这个表尾称为栈的栈顶,相应的表头称为栈底。入栈使用push()方法。出栈使用pop()方法。

“栈”这个名称,可类比于一组物体的堆叠(一摞书,一摞盘子之类的)。
栈的 push 和 pop 操作的示意:

栈和队列的区别

栈的插入和删除操作都是在一端进行的,而队列的操作却是在两端进行的。

算法

二分

排序

递归

算法思想

分治法

贪心法