广东外语外贸大学计算机科学与技术系和软件工程系2005级.doc_第1页
广东外语外贸大学计算机科学与技术系和软件工程系2005级.doc_第2页
广东外语外贸大学计算机科学与技术系和软件工程系2005级.doc_第3页
广东外语外贸大学计算机科学与技术系和软件工程系2005级.doc_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

广东外语外贸大学计算机科学与技术系和软件工程系2005级数据结构课程期中试卷班级:_学号:_姓名:_成绩:_一、判断题 请在题后括号内打上(正确)或(错误)(共25分 每空2.5分)1在线性表的顺序存储结构中,逻辑上相邻的两个元素在物理位置上并不一定紧邻。( )2. 在对带头结点的链队列作出队操作时,头指针的值不会改变。( )3用S表示入栈操作,X表示出栈操作,若元素入栈顺序为1,2,3,4, 为了得到1,3,4,2出栈顺序相应的S和X操作序列为SXSSXSXX。( )4. 在线性表的顺序存储结构中,插入和删除时,移动元素的个数与该元素的位置有关。( )5. 顺序存储的线性表可以按序号随机存取。( )6. 带头结点的单链表队列,头指针F指向队列的头结点,尾指针R指向队列的最后一个结点( ) 7空串是由空白字符组成的串。( )8字符串比较ABCDEFGABF的结果为 ( )9顺序栈插入、删除操作都是在同一端的进行,该端称为堆底。( )10给定循环链表中任一元素的地址均可得到其直接前驱的地址( )二、单选题 (共24分 每空3分)1. 数据结构是一门研究非数值计算的程序设计问题中计算机的( )以及它们之间的关系和运算等的学科。A.数据元素 B.计算方法C.逻辑存储D.数据映象2. 设单链表中指针p指向结点m ,若要删除m之后的结点(若存在),则需修改指针的操作为( )。A.p-next=p-next-next; B.p=p-next;C.p=p-next-next; D.p-next=p;3. 若某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用( )存储方式最节省运算时间。A. 单链表 B. 仅有头指针的单循环链表 C. 双链表 D. 仅有尾指针的单循环链表4下面程序段的时间复杂度是( )。for (i=1;i=n;i+)for (j=i;jnext = = NULL;C. head-next = = head; D. head! = NULL;6. 在循环双链表的p所指结点之后插入s所指结点的操作是 ( )。A. p-right=s; s-left=p; p-right-left=s; s=-right=p-right;B. p-right=s; p-right-left=s; s-left=p; s-right=p-right;C. s-left=p; s-right= p-right; p-right=s; p-right-left=s;D. s-left=p; s-right=p-right; p-right-left=s; p-right=s;7假设顺序栈的定义为:typedef struct selemtype *base; /* 栈底指针*/selemtype *top; /* 栈顶指针*/int stacksize; /* 当前已分配的存储空间,以元素为单位*/sqstack;变量st为sqstack型,则栈st为满的判断条件为( )。A st.base = NULL B st.top = st.stacksizeC st.top-st.base= st.stacksize D st.top = st.base8判断一个循环队列QU ( m0为最大队列长度(以元素为单位),front和rear分别为队列的队头指针和队尾指针 ) 为空队列的条件是( )。AQU-front = QU-rear BQU-front != QU-rearCQU-front = (QU-rear+1) % m0 DQU-front != (QU-rear+1) % m0三、算法设计题 (共51分)1. (共20分 )已知Q是一个非空队列,S是一个空栈。仅用队列和栈的基本操作函数和少量工作变量,编写一个算法,将队列Q中的所有元素逆置。 栈的基本操作函数有: clearstack(&s); 置空栈 push(&s,e); 新元素e进栈 pop(s,&e):出栈,返回栈顶值给e stackEmpty(s): 判栈空否 队列的基本操作函数有 enqueue(&q,e); 元素e进队 dequeue(&q,&e):出队列,返回队头值给e queueempty(q): 判队列空否2(共31分 ) 设有一个带头结点,由正整数组成的无序单链表,头指针为L,Typedef struct Lnodeint data;struct Lnode *next;Lnode,*Linklist;Linklist L;给出完成下列功能的算法: 找出最小值结点,且打印该数值;(15分) 若该数值是奇数,则将其与直接后继结点(若存在)的数值交换;(8分) 若该数值是偶数,则将其直接后继结点(若存在)删除;(8分)参考答案:一、1F 2T 3T 4T 5T 6F 7F 8F 9F 10T二、 1A 2A 3D 4B 5B 6D 7C 8A三、aaa(q,s)clearstack(s)while(!queueempty(q)dequeue(q,e);push(s,e);while(!stackempty(s) pop(s,e);enqueue(q,e);四、bbb(Linklist L)q=L-next;if(!q) return ;p=q-next;while(p)if(p-data data)q=p;p=p-next

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论