免费智能真题库 > 历年试卷 > 软件设计师 > 2015年下半年 软件设计师 上午试卷 综合知识
  第22题      
  知识点:   
  关键词:   表达式        章/节:   计算机软件知识       

 
表达式采用逆波兰式表示时,利用(22)进行求值。
 
 
  A.  栈
 
  B.  队列
 
  C.  符号表
 
  D.  散列表
 
 
 

 
  第49题    2019年下半年  
   63%
计算机执行程序时,内存分为静态数据区、代码区、栈区和堆区。其中(48)一般在进行函数调用和返回时由系统进行控制和管理,(49)由..
  第57题    2016年上半年  
   43%
若元素以a,b,c,d,e的顺序进入一个初始为空的栈中,每个元素进栈、出栈各1次,要求出栈的第一个元素为d,则合法的出栈序列共有..
  第64题    2012年下半年  
   41%
霍夫曼编码将频繁出现的字符釆用短编码,出现频率较低的字符采用长编码。具体的操作过程为:i)以每个字符的出现频率作为关键字构..
 
  第48题    2013年下半年  
   27%
将高级语言程序翻译为机器语言程序的过程中,常引入中间代码,其好处是(48)。
  第48题    2010年上半年  
   32%
以下关于高级语言程序的编译和解释的叙述中,正确的是(48)。.
  第48题    2009年上半年  
   33%
下图所示有限自动机的特点是(48)。


   知识点讲解    
   · 
 
       栈
        1)栈的定义及基本运算
        栈是只能通过访问它的一端来实现数据存储和检索的一种线性数据结构。栈的修改是按先进后出的原则进行的。因此,栈又称为先进后出(FILO,或后进先出)的线性表。栈进行插入和删除操作的一端称为栈顶,另一端称为栈底。不含数据元素的栈称为空栈。
        对栈进行的基本操作有以下几种。
        .置空栈InitStack(S):创建一个空栈S。
        .判栈空Empty(S):当栈S为空栈时返回真值;否则返回假值。
        .入栈Push(S,x):将元素x加入栈顶,并更新栈顶指针。
        .出栈Pop(S):将栈顶元素从栈中删除,并更新栈顶指针。若需要得到栈顶元素的值,可将Pop(S)定义为一个函数,它返回栈顶元素的值。
        .读栈顶元素Top(S):返回栈顶元素的值,但不修改栈顶指针。
        2)栈的存储结构
        (1)顺序存储。栈的顺序存储是指用一组地址连续的存储单元依次存储自栈顶到栈底的数据元素,同时附设指针top指示栈顶元素的位置。在顺序存储方式下,需要预先定义或申请栈的存储空间,也就是说,栈空间的容量是有限的。因此在顺序栈中,当一个元素入栈时,需要判断是否栈满,若栈满,则元素入栈会发生上溢现象。
        利用栈底位置不变的特性,可以让两个顺序栈共享一个一维数据空间,以互补余缺,实现方法是:将两个栈的栈底位置分别设在存储空间的两端,让它们的栈顶各自向中间延伸。这样,两个栈的空间就可以相互调节,只有在整个存储空间被占满时才发生上溢,这样一来产生上溢的概率要小得多。
        (2)链式存储。用链表作为存储结构的栈也称为链栈。由于栈中元素的插入和删除仅在栈顶一端进行,因此不必设置头节点,链表的头指针就是栈顶指针。
        3)栈的应用
        栈的典型应用包括表达式求值、括号匹配等,在计算机语言的实现中以及将递归过程转变为非递归过程的处理中,栈有重要的作用。
   题号导航      2015年下半年 软件设计师 上午试卷 综合知识   本试卷我的完整做题情况  
1 /
2 /
3 /
4 /
5 /
6 /
7 /
8 /
9 /
10 /
11 /
12 /
13 /
14 /
15 /
 
16 /
17 /
18 /
19 /
20 /
21 /
22 /
23 /
24 /
25 /
26 /
27 /
28 /
29 /
30 /
 
31 /
32 /
33 /
34 /
35 /
36 /
37 /
38 /
39 /
40 /
41 /
42 /
43 /
44 /
45 /
 
46 /
47 /
48 /
49 /
50 /
51 /
52 /
53 /
54 /
55 /
56 /
57 /
58 /
59 /
60 /
 
61 /
62 /
63 /
64 /
65 /
66 /
67 /
68 /
69 /
70 /
71 /
72 /
73 /
74 /
75 /
 
第22题    在手机中做本题