大家好,很高兴我们可以继续交流学习算法相关的面试题。在上一小节中,我们主要对排序与查找算法,常见链表以及二叉树的面试题目进行了分析与交流。在本小节中,我们主要对队列,堆栈,字符串与数组等知识点进行交流。针对各个知识点最高频的面试题目来进行解析,希望遇到经典的基础算法题目时,大家可以把握机会,“手撕”成功。
(1)队列与堆栈:
队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作。进行插入操作的端称为队尾,进行删除操作的端称为队头。队列具有先进先出的特性,示意图如下所示:
堆栈是一种具有后进先出特性的数据结构,因为其只可以在栈顶进行数据的入栈和出栈操作。堆栈的数据结构示意图如下所示: