1、完整版数据结构考试试题带答案XX科技大学成都学院二零零八至二零零九学年第一学期 数据结构 课堂测试(60分钟) 闭卷 考试时间:题号-一一-二二-三总分评卷教师分数一 填空题(每空2分,共40分);1.数据结构算法中,通常用时间复杂度和 _空间复杂度 两种方法衡量其效率。2.下面程序段的时间复杂度为 _0(n ) 。(n1)for(i = 1; i = n; i+)for(j = 1; j = i; j+)x = x + 1;3.静态链表中指针表示的是 一结点的地址 。4.线型表、栈和队列都是 线型 结构,可以在线型表的 任意位置插入和删除元素;对于栈只能在 栈顶 插入和删除元素;对于队列只能
2、在 队尾插入元素和 队头 除元素。5.在具有n个单元的循环队列中,队满时共有 n-1 个元素。6.在一个长度为n的顺序表中第i个元素(1=i next=NULL 。9.在栈顶指针为hs的链栈中,判断栈空的条件是 hs= =NULL 一。10.在hq的链队列中,判定只有一个结点的条件是_hq.front-next=hq.rear 。11.非空的循环单链表head的尾结点(由p指向),满足条件 p-next=head。12.两个串相等的充分必要条件是 串长相等且对应字符相等 。13.空串是 度为0的串 其长度等于0 。14.空格串是 由空格字符组成的串 ,其长度等于 空格的个数表元编号结点表元间关
3、系1a132a213a323.4.5.6.7.8.9.10.11.12.13.14.15.A.循环链表 B 单链表 C 双向循环链表 D 双向链表有六个元素6, 5, 4, 3, 2, 1的顺序进栈,问下列哪一个不是合法的出栈序列?(B)A. 5 4 3 6 1 2 B. 3 4 6 5 2 1 C. 4 5 3 1 2 6 D. 2 3 4 1 56若栈采用顺序存储方式存储,现两栈共享空间V1.m ,topi代表第i个栈(i =1,2) 栈顶,栈1的底在v1,栈2的底在Vm,则栈满的条件是(B )。A. top2-top1|=0 B. top1+1=top2C. top1+top2=m D.
4、 top1=top2数组Q n用来表示一个循环队列,front为当前队列头元素的前一位置,rear 为队尾元素的位置,假定队列中元素的个数小于n,计算队列中元素的公式为(D)A. rear front B. (n +front rear ) % nC. n+ rear front D. (n+ rear front ) % n设栈S和队列Q的初始状态为空,元素e1, e2, e3, e4,e5和e6依次通过栈S, 一个元素出栈后即进队列 Q,若6个元素出队的序列是e2, e4,e6,e5 , e3,e1则 栈S的容量至少应该是(B) oA. 6 B. 4 C. 3 D. 2判定一个循环队列QU
5、最多元素为N)为空的条件是 CA. QU.front= (QU.rear+1 ) %N B . QU.front ! = (QU.rear+1) %NC. QU.front= QU.rear D. QU.front ! = QU.rear判定一个循环队列QU (最多元素为mQ为满队列的条件是 A oA. QU.front= (QU.rear+1 ) %N B. QU.front ! = (QU.rear+1) %NC. QU.front= QU.rear D. QU.front ! = QU.rea叶1不带头结点的单链表head为空的判定条件是 AA. head=NULL B . head -
6、 next=NULL C . head- next=headD.head!=NULL15.在双向链表指针p的结点前插入一个指针q的结点操作是(C )oA.p-Lli nk=q;q-Rli nk=p;p-Lli nk-Rli nk=q;q-Lli nk=q ;B.p-Lli nk=q;p-Lli nk-Rli nk=q;q-Rli nk=p;q-Lli nk=p-Lli nk;C.q-Rli nk=p;q-Lli nk=p-Lli nk;p-Lli nk-Rli nk=q;p-Lli nk=q;D.q-Lli nk=p-Lli nk;q-Rli nk=q;p-Lli nk=q;p-Lli nk=
7、q;16.从一个具有n个结点的单链表中查找其值等于 x结点时,在查找成功的情况下,需平均比较_D结点。A. n B. n/2 C. (n 1)/2 D. (n+1)/217.设串 s1= ABCDEF,s2=PQRST,函数 con(x,y)返回 x 和 y 串的连接串,subs(s,i,j )返回串s的从序号i的字符开始的j个字符组成的字串,len(s)返回 串 s 的长度,则 con(subs(s1,2,len(s2), subs(s1,len(s2),2) 的结果串是 DA) BCDEF B ) BCDEFG C) BCPQRST D) BCDEFEF三.综合题(每题6分,共30分)1.
8、线性表具有两种存储方式,即顺序方式和链接方式。现有一个具有五个元素的线 性表L=23,17,47, 05,31,若它以单链表方式存储在下列 100119号地址空间中,每个结点由数据(占2个字节)和指针(占2个字节,由大写字母表示) 组成,如下所示:100 12047p23q05r31s17t其中指针p,q,r,s,t的值分别为多少?该线性表的首结点起始地址为多少?末 结点的起始地址为多少?(共6分)2.答:p= 108 q = 116 r = 112 s= 0 或NULLt= 100 首址= 104 末址= 112 。3.如果想将输入的一个字符序列逆序输出,如输入“ abcdef ”,输出“
9、fedcba”,请分析用线性表、堆栈和队列等方式正确输出的可能性? (共6分)线性表是随机存储,可以实现,靠循环变量(j-)从表尾开始打印输出; 堆栈是后进先出,也可以实现,靠正序入栈、逆序出栈即可;队列是先进先出,不易实现。4.写出删除顺序表中第i个元素的算法:(共6分)Status ListDelete_sq(SqList &L, int i, ElemType &e)Status del_sqllist(SqList &L,i nt i, ElemType &e)if (i L.length) return ERROR;e= L.elemi;for (j=i+1;j data = e;p
10、-next=S.top ;/链接到原来的栈顶S.top = p; /移动栈顶指针+S.length; /栈的长度增1 / Push6.写出链队列的出队列算法(共6分)Status DeQueue(LinkQueue &Q, QelemType &e)Status DeQueue (LinkQueue &Q, QElemType &e) 若队列不空,则删除Q的队头元素,用e返回其值,并返回0K;否则返回ERROR系别 班次 学号 姓名if (Q.fro nt =Q.rear) return ERROR;p = Q.fron t- n ext; e = p-data;Q.front-n ext =
11、 p-n ext;if (Q.rear =:=p) Q.rear = Q.fro nt;free (p);return OK;XX科技大学成都学院20082009学年第一学期中期试题一一数据结构答案 一. 填空题(每题2分,共40分);题号参考答案1空间复杂度2O(n2)3下一结点的地址4线型,任意,栈顶,队尾,队头5n-16n-i+17前驱8head-n ext= =NULL9hs= =NULL10hq.fr on t- n ext=hq.rear11p-n ext=head12串长相等且对应字符相等13长度为0的串,014由空格字符组成的串,空格的个数单项选择题(每题2分,共30分);题号
12、12345678910答案AABBDBCBBC题号1112131415答案AACDD综合题(共30 分)if (i L.length) return ERROR;e= L.elemi;for (j=i+1;j data = e;p-next=S.top ;/链接到原来的栈顶S.top = p; /移动栈顶指针+S.length; /栈的长度增1 / Push5.Status DeQueue (Lin kQueue &Q, QElemType &e) 若队列不空,则删除Q的队头元素,用e返回其值,并返回0K;否则返回ERRORif (Q.fro nt = Q.rear) return ERROR;p = Q.fron t- n ext; e = p-data;Q.front-n ext = p-n ext;if (Q.rear = p) Q.rear = Q.front;free (p); return OK;全真模拟试题(一)一、 单项选择题(在每小题的4个备选答案中,选出正
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1