全部科目 > 软件设计师 >
2023年上半年 上午试卷 综合知识
第 57 题
知识点 栈  
关键词 表达式   操作数   容量  
章/节 计算机软件知识  
 
 
利用栈对算术表达式10*(40-30/5)+20求值时,存放操作数的栈(初始为空)的容量至少为_()_,才能满足暂存该表达式中的运算数或运算结果的要求。
 
  A.  2
 
  B.  3
 
  C.  4
 
  D.  5




 
 
相关试题     计算机软件知识 

  第65题    2014年下半年  
已知一个文件中出现的各字符及其对应的频率如下表所示。若采用定长编码,则该文件中字符的码长应为(64)。若采用Huffman编码,则字符序列“face”的编..

  第14题    2011年下半年  
多媒体制作过程中,不同媒体类型的数据收集、制作需要不同的软、硬件设备和技术手段,动画制作一般通过(14)进行。

  第56题    2020年下半年  
某企业信息系统采用分布式数据库系统。”当某一场地故障时,系统可以使用其他场地上的副本而不至于使整个系统瘫痪"称为分布式数据库的( )。

 
知识点讲解
· 栈
 
        栈
        1)栈的定义及基本运算
        栈是只能通过访问它的一端来实现数据存储和检索的一种线性数据结构。栈的修改是按先进后出的原则进行的。因此,栈又称为先进后出(FILO,或后进先出)的线性表。栈进行插入和删除操作的一端称为栈顶,另一端称为栈底。不含数据元素的栈称为空栈。
        对栈进行的基本操作有以下几种。
        .置空栈InitStack(S):创建一个空栈S。
        .判栈空Empty(S):当栈S为空栈时返回真值;否则返回假值。
        .入栈Push(S,x):将元素x加入栈顶,并更新栈顶指针。
        .出栈Pop(S):将栈顶元素从栈中删除,并更新栈顶指针。若需要得到栈顶元素的值,可将Pop(S)定义为一个函数,它返回栈顶元素的值。
        .读栈顶元素Top(S):返回栈顶元素的值,但不修改栈顶指针。
        2)栈的存储结构
        (1)顺序存储。栈的顺序存储是指用一组地址连续的存储单元依次存储自栈顶到栈底的数据元素,同时附设指针top指示栈顶元素的位置。在顺序存储方式下,需要预先定义或申请栈的存储空间,也就是说,栈空间的容量是有限的。因此在顺序栈中,当一个元素入栈时,需要判断是否栈满,若栈满,则元素入栈会发生上溢现象。
        利用栈底位置不变的特性,可以让两个顺序栈共享一个一维数据空间,以互补余缺,实现方法是:将两个栈的栈底位置分别设在存储空间的两端,让它们的栈顶各自向中间延伸。这样,两个栈的空间就可以相互调节,只有在整个存储空间被占满时才发生上溢,这样一来产生上溢的概率要小得多。
        (2)链式存储。用链表作为存储结构的栈也称为链栈。由于栈中元素的插入和删除仅在栈顶一端进行,因此不必设置头节点,链表的头指针就是栈顶指针。
        3)栈的应用
        栈的典型应用包括表达式求值、括号匹配等,在计算机语言的实现中以及将递归过程转变为非递归过程的处理中,栈有重要的作用。



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

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