数据结构与算法——第三章 栈和队列(1)

目录​​​​​​​

3.1 栈和队列的定义和特点

1. 定义

2. 栈的应用

3. 队列的应用

3.1.1 栈的定义和特点

3.1.2 队列的定义和特点

3.2 案例引入

3.2.1 进制转换

 3.2.2 括号匹配的检验

3.3.3 表达式求值 

3.3.4 舞伴问题

3.1 栈和队列的定义和特点

1. 定义

        限定栈插入在最后一个,删除也是最后一个;

        而队列插入也是最后一个,但删除却是第一个。

2. 栈的应用

特性:后进先出

3. 队列的应用

特性:先进先出

3.1.1 栈的定义和特点

        栈(stack)是一个特殊的线性表,是限定仅在一端(通常是表尾)进行插入和删除操作的线性表。又称为后进先出(Lsat In First Out)的线性表,建成LIFO结构。

 

 思考:

        不存在cab的情况。 

栈的相关概念总结: 

3.1.2 队列的定义和特点

        队列(queue)是一种先进先出(First In First Out——FIFO)的线性表。在表一端插入(表尾),在另一端(表头)删除。

3.2 案例引入

3.2.1 进制转换

 e.g.

 3.2.2 括号匹配的检验

3.3.3 表达式求值 

(1)表达式求值是程序设计语言编译中一个最基本的问题,它的实现也需要运用栈;

(2)这里介绍的算法是由运算符优先级确定运算顺序的对表达式求值算法——算符优先算法

3.3.4 舞伴问题


版权声明:本文为qq_47941078原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。