全部科目 > 信息系统管理工程师 >
2017年上半年 上午试卷 综合知识
第 11 题
知识点 栈的定义和实现   数据结构  
关键词 后进先出   数据结构   数据  
章/节 数据结构与算法基本概念  
 
 
( )是按照"后进先出"原则进行插入和删除操作的数据结构
 
  A.  栈
 
  B.  队列
 
  C.  散列表
 
  D.  字符串
 
 




 
 
相关试题     栈和队列 

  第9题    2019年上半年  
栈是限制为元素只能后进先出的数据结构,每个元素仅入栈和出栈各1次。对于初始为空的某栈,其入栈的元素序列为1 2 3 4,则( )不是合法的出栈序列。

  第6题    2020年下半年  
栈是计算机系统中常用的数据结构,在入栈/出栈的过程中,(6)保持不变。

  第10题    2016年上半年  
设有初始为空的栈S,对于入栈序列a、b、c,经由一个合法的进栈和出栈操作序列后(每个元素进栈、出栈各1次),不能得到的序列为(10)。

 
知识点讲解
· 栈的定义和实现
· 数据结构
 
        栈的定义和实现
        栈(Stack)是一种特殊的线性表,是限定仅在表尾进行插入或者删除操作的线性表。进行插入和删除的那一端称为栈顶(top),另一端称为栈底(bottom)。栈的插入操作和删除操作也分别简称进栈和出栈。
        如果栈中有n个结点{k0,k1,k2,…, kn-1},k0为栈底,kn-1是栈顶,则栈中结点的进栈顺序为k0, k1, k2,…,kn-1,而出栈的顺序为kn-1, kn-2,…, k1,k0,如下图所示。
        
        栈
        栈的主要操作是桟的初始化、插入和删除运算、判断栈是否为空以及读取栈顶结点的值等操作。栈的类型的描述如下:
        
        和顺序表类似,栈的实现方式一般也有两种:顺序存储和链式存储。下面主要介绍顺序栈。由于栈的顺序存储方式就是在顺序表的基础上对插入和删除操作限制,使得它们仅能在顺序表的同一端进行,所以同顺序表一样也可用一维数组表示。一般地,可以设定一个足够大的一维数组存储栈,数组中下标为0的元素就是栈底,对于栈顶,可以设一个指针top指示它。为了方便,设定top所指的位置是下一个将要插入的结点的存储位置,这样,当top=0时就表示是一个空的栈。一个栈的几种状态以及在这些状态下栈顶指针top和栈中结点的关系如下图所示。
        
        栈的状态
        栈的顺序存储结构用C语言描述如下:
        
        顺序存储栈的几个基本操作的具体实现,具体如下所示:
        
 
        数据结构
        根据数据元素之间关系的不同特性,通常有下列4类基本的逻辑结构,即集合结构、线性结构、树形结构、图形结构。
        1)线性结构
        线性表是最常用且最简单的一种数据结构。线性表中除第一个元素外,每个元素均只有一个直接前驱;除最后一个元素外,每个元素都只有一个直接后继。
        栈是限定仅在表尾进行插入或删除操作的线性表,是只能通过访问它的一端来实现数据存储和检索的一种线性数据结构。
        队列是一种先进先出(FIFO)的线性表,它只允许在表的一端进行插入,而在另一端删除元素。
        2)树
        树是nn≥0)个互不相交的有限集,当n=0时称为空树。在一棵非空树中,有且仅有一个节点称为根节点;当n>1时,其余的节点可分为若干个不相交的集合,其中每一个集合本身又是一棵树,这些集合称为根节点的子树。
        3)图
        图是由两个集合VE组成的二元组,记为G=(V, E),其中V是顶点的非空有限集合,E是图中边的有限集合。



更多复习资料
请登录电脑版软考在线 www.rkpass.cn

京B2-20210865 | 京ICP备2020040059号-5
京公网安备 11010502032051号 | 营业执照
 Copyright ©2000-2023 All Rights Reserved
软考在线版权所有