数据结构习题(答案)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第2章线性表
2.下面关于线性表的叙述中,错误的是哪一个?()【北方交通大学 2001 一、14(2分)】A.线性表采用顺序存储,必须占用一片连续的存储单元。
B.线性表采用顺序存储,便于进行插入和删除操作。
C.线性表采用链接存储,不必占用一片连续的存储单元。
D.线性表采用链接存储,便于插入和删除操作。
3.线性表是具有n个()的有限序列(n>0)。【清华大学 1998 一、4(2分)】
A.表元素 B.字符 C.数据元素 D.数据项 E.信息项
4.若某线性表最常用的操作是存取任一指定序号的元素和在最后进行插入和删除运算,则利用()存储方式最节省时间。【哈尔滨工业大学 2001 二、1(2分)】
A.顺序表 B.双链表 C.带头结点的双循环链表 D.单循环链表
5.某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用()存储方式最节省运算时间。【南开大学 2000 一、3】
A.单链表 B.仅有头指针的单循环链表 C.双链表D.仅有尾指针的单循环链表6.设一个链表最常用的操作是在末尾插入结点和删除尾结点,则选用( )最节省时间。
A. 单链表
B.单循环链表
C. 带尾指针的单循环链表
D.带头结点的双循环链表
7.若某表最常用的操作是在最后一个结点之后插入一个结点或删除最后一个结点。则采用()存储方式最节省运算时间。【北京理工大学 2000 一、1(2分)】
A.单链表 B.双链表 C.单循环链表 D.带头结点的双循环链表
8. 静态链表中指针表示的是(). 【北京理工大学 2001 六、2(2分)】
A.内存地址B.数组下标 C.下一元素地址 D.左、右孩子地址
9. 链表不具有的特点是()【福州大学 1998 一、8 (2分)】
A.插入、删除不需要移动元素B.可随机访问任一元素
C.不必事先估计存储空间 D.所需空间与线性长度成正比
10. 下面的叙述不正确的是()【南京理工大学 1996 一、10(2分)】
A.线性表在链式存储时,查找第i个元素的时间同i的值成正比
B. 线性表在链式存储时,查找第i个元素的时间同i的值无关
C. 线性表在顺序存储时,查找第i个元素的时间同i 的值成正比
D. 线性表在顺序存储时,查找第i个元素的时间同i的值无关
18.在一个以 h 为头的单循环链中,p 指针指向链尾的条件是()【南京理工大学1998 一、15(2分)】
A. p^.next=h
B. p^.next=NIL
C. p^.next.^next=h
D. p^.data=-1
23.在双向链表指针p的结点前插入一个指针q的结点操作是()。【青岛大学 2000 五、2(2分)】
A. p->Llink=q;q->Rlink=p;p->Llink->Rlink=q;q->Llink=q;
B. p->Llink=q;p->Llink->Rlink=q;q->Rlink=p;q->Llink=p->Llink;
C. q->Rlink=p;q->Llink=p->Llink;p->Llink->Rlink=q;p->Llink=q;
D. q->Llink=p->Llink;q->Rlink=q;p->Llink=q;p->Llink=q;
第3章栈和队列
3. 一个栈的输入序列为123…n,若输出序列的第一个元素是n,输出第i(1<=i<=n)个元素是()。
A. 不确定
B. n-i+1
C. i
D. n-i
4. 若一个栈的输入序列为1,2,3,…,n,输出序列的第一个元素是i,则第j个输出元素是()。
A. i-j-1
B. i-j
C. i-j+1
D. 不确定的
6. 有六个元素6,5,4,3,2,1 的顺序进栈,问下列哪一个不是合法的出栈序列?()
A. 5 4 3 6 1 2
B. 4 5 3 1 2 6
C. 3 4 6 5 2 1
D. 2 3 4 1 5 6
7. 设栈的输入序列是1,2,3,4,则()不可能是其出栈序列。【中科院计算所2000一、10(2分)】
A. 1,2,4,3,
B. 2,1,3,4,
C. 1,4,3,2,
D. 4,3,1,2,
E. 3,2,1,4,
19. 表达式a*(b+c)-d的后缀表达式是( )。【南京理工大学 2001 一、2(1.5分)】
A.abcd*+- B. abc+*d- C. abc*+d- D. -+*abcd
28. 若用一个大小为6的数组来实现循环队列,且当前rear和front的值分别为0和3,当从队列中删除一个元素,再加入两个元素后,rear和front的值分别为多少?( )【浙江大学1999 四、1(4分)】
A. 1和 5
B. 2和4
C. 4和2
D. 5和1
32. 栈和队列的共同点是()。【燕山大学 2001 一、1(2分)】
A. 都是先进先出
B. 都是先进后出
C. 只允许在端点处插入和删除元素
D. 没有共同点
37. 依次读入数据元素序列{a,b,c,d,e,f,g}进栈,每进一个元素,机器可要求下一个元素进栈或弹栈,如此进行,则栈空时弹出的元素构成的序列是以下哪些序列?【哈尔滨工业大学 2000 七(8分)】A.{d ,e,c,f,b,g,a} B. {f,e,g,d,a,c,b}
C. {e,f,d,g,b,c,a}
D. {c,d,b,e,f,a,g}
第4章串
2 若串S1=‘ABCDEFG’, S2=‘9898’ ,S3=‘###’,S4=‘012345’,执行
concat(replace(S1,substr(S1,length(S2),length(S3)),S3),substr(S4,index(S2,‘8’),length(S2))) 其结果为()【北方交通大学 1999 一、5 (25/7分)】
A.ABC###G0123 B.ABCD###2345 C.ABC###G2345 D.ABC###2345
E.ABC###G1234 F.ABCD###1234 G.ABC###01234
第5章数组和广义表
1.设有一个10阶的对称矩阵A,采用压缩存储方式,以行序为主存储,a11为第一元素,其存储地址为1,每个元素占一个地址空间,则a85的地址为()。
A. 13
B. 33
C. 18
D. 40
18. 已知广义表L=((x,y,z),a,(u,t,w)),从L表中取出原子项t的运算是()。
A. head(tail(tail(L)))
B. tail(head(head(tail(L))))
C. head(tail(head(tail(L))))
D. head(tail(head(tail(tail(L)))))
19. 已知广义表LS=((a,b,c),(d,e,f)),运用head和tail函数取出LS中原子e的运算是( )。
A. head(tail(LS))
B. tail(head(LS))
C. head(tail(head(tail(LS)))
D. head(tail(tail(head(LS))))
20. 广义表A=(a,b,(c,d),(e,(f,g))),则下面式子的值为()。【北京邮电大学1999一、2(2分)】
Head(Tail(Head(Tail(Tail(A)))))
A. (g)
B. (d)
C. c
D. d