楚雄师范学院计科系2011级《算法与数据结构》课后习题及参考答案(第3章)
更新时间:2023-10-21 15:40:01 阅读量: 综合文库 文档下载
网络工程2011级1班、计算机科学与技术2011级2班《算法与数据结构》课后习题(第3章)
【课后习题】第3章 栈和队列
2011级 计科 (网工) 班 学号: 姓名:
总分 题 号 得 分 一 二 三 四 五 一、填空题(每空1.5分,共27 分)
1. 栈可以看成一种运算受限制的线性表,也称为 的线性表 2. 栈中允许进行插入和删除的一端为 。
3. 队列可以看成一种运算受限制的线性表,也称为 的线性表。 4. 队列中允许进行插入的一端为 ,允许进行删除的一端为 。 5. 设循环队列的空间大小为
MAX,当
rear 时,队列的长度 为 。 6. 设循环队列的容量为50(序号从0到49),现经过一系列的入队和出队运算后,有front=27, rear=11,问在这种情况下,循环队列中有 个元素。如果front=11,rear=27,问在这种情况下,循环队列中有 个元素。 7. 中缀表达式(B+D) * (A-C) 对应的前缀表达式是 ,后缀表达式 是 。 8. 后缀表达式ABC+* 对应的前缀表达式是 ,中缀表达式是 。 9. 线性表、栈和队列都是线性结构,可以在线性表的 位置插入和删除元素;栈只能 在 插入和删除元素;队列只能在 插入和 删除元素。 10. 在栈顶指针为head的链式栈中,判定栈空的条件是 。 11. 设有一个顺序栈S,元素s1, s2, s3, s4, s5, s6依次进栈,如果6个元素的出栈 顺序为s2, s3, s4, s6, s5, s1,则顺序栈的容量至少应为 二、单项选择(请将正确答案的代号填写在下表对应题号下面。每题1.5分,共33分) 题号 答案 题号 答案 1 12 2 13 3 14 4 15 5 16 6 17 7 18 8 19 9 20 10 21 11 22 第 1 页 共 5 页 网络工程2011级1班、计算机科学与技术2011级2班《算法与数据结构》课后习题(第3章) 1、栈是限定在( )处进行插入或删除操作的线性表。 A.端点 B.栈底 C.栈顶 D.中间 2、在栈顶一端可进行的全部操作是( )。 A.插入 B.删除 C.插入和删除 D.进栈 3、4个元素按A、B、C、D顺序连续进S栈,进行Pop(S,x)运算后,x的值是( )。 A.A B.B C.C D.D 4、栈的特点是( )。 A.先进先出 B.后进先出 C.后进后出 D.不进不出 5、在栈的实现方法中,需要考虑栈满的是( )。 A、循环链表栈; B、链式栈; C、无限栈; D、顺序栈。 6、将一个递归算法改写成非递归的形式时,一般( )。 A、只能采用栈结构; B、只能采用队列结构; C、采用非栈结构更好; D、可采用栈或非栈结构。 7、在C语言中实现队列时,为了避免使用循环队列,采用( )来实现较好。 A、动态分配的一维数组; B、静态分配的一维数组; C、二维数组; D、链式队列。 8、实现循环队列时,可采用( )。 A、动态分配的一维数组; B、静态分配的一维数组; C、二维数组; D、链式队列。 9、4个元素进S栈的顺序是A、B、C、D,进行两次Pop(S,x)操作后,栈顶元素的值是( )。 A)A B)B C)C D)D 10、顺序栈存储空间的实现使用( )存储栈元素。 A.链表 B.数组 C.循环链表 D.变量 11、一个栈的输入序列为1 2 3 4 5,则下列序列中可能是栈的输出序列的是( ) A) 2 3 514 B) 4 15 2 3 C) 5 4 1 3 2 12、栈与一般线性表的区别主要在( )方面。 A.元素个数 B.元素类型 C.逻辑结构 D.插入、删除元素的位置 13、元素A、B、C、D依次进顺序栈后,栈底元素是( )。 A)A B)B C)C D)D 14、经过下列栈的运算后,X的值是( )。 InitStack (S); Push(S,’a’); Push(S,’b’); GetTop(S); Pop(S,X); A.a B.b C.1 D.2 D) 1 5 4 3 2 第 2 页 共 5 页 网络工程2011级1班、计算机科学与技术2011级2班《算法与数据结构》课后习题(第3章) 15、正常情况下,删除非空的顺序存储结构的堆栈的栈顶元素,栈顶指针top的变化是( ) 。 A. top不变 B. top←0 C. top←top+1 D. top←top-1 16、队列限定在( )处进行插入操作。 A.端点 B.队头 C.队尾 D.中间 17、4个元素A、B、C、D顺序连续进队Q,队尾元素的值是( )。 A)A B)B C)C D)D 18、队列的特点是( )。 A.先进先出 B.后进先出 C.先进后出 D.不进不出 19、循环队列占用的空间( )。 A.必须连续 B.可以不连续 C.不能连续 D.不必连续 20、一个循环队列一旦说明,其占用空间的大小( )。 A.不能固定 B.可以改变 C.已固定 D.动态变化 21、循环队列Sq是空队列的条件是( )。 A.Sq.rear= =Sq.front B.(Sq.rear+1)%maxsize= =Sq.front C.Sq.rear= =0 D.Sq.fronr= =0 22、循环队列Sq是满队列的条件是( )。 A.Sq.rear= =Sq.front B.(Sq.rear+1)%maxsize= =Sq.front C.Sq.rear= =0 D.Sq.fronr= =0 三、算法设计(请将答案填在下表对应位置,每空2分,共24分) 第1题 ① ② ② ② ② ③ ③ ③ ③ 第2题 ① 第3题 ① 第4题 ① 1.假设称正读和反读都相同的字符序列为“回文”,例如,“abcddcba”、 “qwerewq”是回文,“ashgash”不是回文。是写一个算法判断读入的一个以‘@’为结束符的字符序列是否为回文。 第 3 页 共 5 页 网络工程2011级1班、计算机科学与技术2011级2班《算法与数据结构》课后习题(第3章) int Palindrome_Test(){ InitStack(S);InitQueue(Q); while((c=getchar())!='@') { Push(S,c);EnQueue(Q, ① ); } while(② ) { Pop(S,a);DeQueue(Q,b)); if(③ ) return ERROR; } return OK; }//Palindrome_Test 2、已知栈的顺序存储结构如下定义: # define STACK_INIT_SIZE 100 # define STACKINCREMENT 10 typedef struct{ SElemType *base;SElemType *top;int stacksize; }SqStack; 请完成如下入栈算法: status Push(SqStack&S,SElemType e){ if(① ){ tbase=(SElemType*)realloc(S.base (S.stacksize+STACKINCREMENT)*sizeof(SElemType)); if(!tbase) exit(OVERFLOW); S.base=tbase;S.tops=S.base+S.stacksize-1;S.stacksize+=STACKINCREMENT; } ② ;③ ; return OK; }// Push 3、已知循环队列定义如下: # define MAXQSIZE 100 typedef struct{ QElemType *base;int front;int rear; }SqQueue; 请完成如下出队算法: status DnQueue(SqQueue&Q,QElemType &e){ if(① )return ERROR; ② ;③ ;return OK; }// DnQueue 第 4 页 共 5 页 , 网络工程2011级1班、计算机科学与技术2011级2班《算法与数据结构》课后习题(第3章) 4. 向循环队列 q 的队尾加入一个元素 e Status EnQueue(SqQueue &q, QElemType e) { if (① = = q.front ) return ERROR ; //队满则上溢,无法再入队 q.base [② ] = e; q.rear = ③ ; return OK; }// EnQueue; 四、阅读理解题:简述以下算法的功能(每小题5分,共10分) (1) int unknow1(SeqStack S) 1.该函数的功能是: {int n=0; while(!EmptyStack(&S)) {Pop(&S); n++; } return n; } (2) void algo3(Queue &Q){ Stack S; int d; InitStack(S); while(!QueueEmpty(Q)){ DeQueue (Q,d); Push(S,d); }; while(!StackEmpty(S)){ Pop(S,d); EnQueue (Q,d); } } 五、名词解释(每题3分,共6分) 1、栈: 2、队列: 2. 该函数的功能是: 第 5 页 共 5 页
正在阅读:
楚雄师范学院计科系2011级《算法与数据结构》课后习题及参考答案(第3章)10-21
构成艺术教案首页10-16
2005年英语专业八级考试真题及参考答案12-25
春雨情作文400字07-14
秋之枫叶作文450字06-15
培训班结业主持词01-21
教师党员自我批评与反省材料07-27
2019江苏省对口高考数学试卷(可编辑修改word版)05-06
明知是背叛还要背叛11-03
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 楚雄
- 计科
- 数据结构
- 课后
- 师范学院
- 习题
- 算法
- 答案
- 参考
- 2011
- 卫生院乡村卫生服务一体化管理工作总结
- 法考真题之抢劫罪
- 吉大15春学期《生药学》在线作业一满分答案
- APQP
- 2016-2022年中国营养保健品市场分析及投资策略研究报告 - 图文
- 通渭县
- JC-12脉冲电压测试仪操作规程(TDE-F230) - 图文
- 高中化学 知识点 试题:《酸碱指示剂》
- 2016盐城市三模物理 - 图文
- 项目部党建工作总结(精选多篇)
- 2018年中考英语复习第二部分语言知识运用聚焦淄博题型八语法填空试题
- 2014年新农合知识培训考试试题及答案
- 口号标语之北京冬奥会宣传标语
- 终身学习与职业发展复习题4
- 激光原理与技术 - 林清华 - 2007考卷1及答案
- 消费心理学试题
- 微机原理复习题1 - 图文
- 备煤车间竞聘上岗题
- 《试用期员工转正考核表》
- 幼儿园角色游戏:基于观察和调查的研究