在第三章我们将继续学习三种非常重要的线性结构,分别是栈和队列的这样的受限线性表。我们将从它们的基本概念、存储结构以及相关应用这三方面进行详细的学习。最后我们将学习数组的相关知识,大家要注意一下这里的数组指的是一种线性结构,与我们之前在程序设计语言当中提到的数组类型是不同的概念。好,数组我们会学习它的定义以及它的存储结构,还有用数组来实现矩阵的压缩存储。最后还会提一个特殊的矩阵叫做稀疏矩阵。好,这就是本章所要学习的重要考点。本章所学习的知识点其实并不难,它常常出现在选择题当中,但是在之后我们解决一些算法时会经常用到本章所提到的数据结构以及在其他学科的学习过程当中我们也会有所应用,所以它是一个非常重要的基础知识。
好,本节课我们就先来学习栈的相关知识。首先来看栈的基本概念。
什么是栈呢?我们来看一个这样的小例子。我们在洗好盘子之后,都会这样依次地叠放。其实在这样一叠盘子当中,我们的操作是受限的。什么叫受限呢?我们无法从这些盘子中间的部分进行放入新盘的操作,以及拿出盘子的操作。我们只能在这些盘子的顶部进行放入新盘子的操作,以及拿走盘子的操作。这种操作就是我们刚刚所说的受限操作。其实它用接下来要学习的栈,有非常多的相似之处。
我们来看书中这样的定义。栈,英文名是Stack,是一叠一堆的意思。书中是这样定义它的,只允许在一端进行插入或者删除操作的线性表。在定义当中我们只要注意两点,第一点是栈一定是线性表,它具有线性表的所有特点。第二点是它是受限线性表。怎样受限呢?是只允许在一端进行插入或者删除的线性表。好,这就是栈的定义。接下来我们用数据元素来代替盘子画出一个栈的例子。
原文地址:https://www.cnblogs.com/ZHONGZHENHUA/p/11403518.html
时间: 2024-10-05 04:58:24