|
东 北 大 学 继 续 教 育 学 院
4 S2 T+ r+ z5 e& I' R
' z! M! k+ D& u 数据结构II X 试 卷(作业考核 线上2) B 卷
0 I" @8 Y0 d1 V. t5 B# N
& T9 \ t/ _+ a' ]3 ^( ^& d学习中心: 院校学号: 姓名 ; Y6 m1 ~$ r! W( s" P7 u& a) |. u
) z, i( O* M7 D; G3 m
(共 8 页) % S6 ~0 I8 m M3 N9 Y+ F* \& W. @
总分 题号 一 二 三 四 五 六 七- {% J" V2 X ~$ r) p% B. w0 w* ~
得分
' E( t2 a( |4 t3 _' e" u
$ U/ y2 D8 k9 E( Q一、单选题(更多资料下载:谋学网(www.mouxue.com)2分,共10小题,20分)3 g$ S# s( a C( e& o. k0 R! H
[ ] 1.抽象数据类型的三个组成部分分别为+ h0 u. t! r$ ?: g
A.数据对象、数据关系和基本操作9 x! S0 F) m% ]- {
B.数据元素、逻辑结构和存储结构
0 ]/ L2 D! K8 d C.数据项、数据元素和数据类型' m. K- y# X, ^( f- v4 }* U
D.数据元素、数据结构和数据类型
4 z( Z3 R8 V& M3 T/ y' f[ ] 2.下列各式中,按增长率由小至大的顺序正确排列的是+ O" W$ D' z! F* N
A. ,n!,2n ,n3/2 B.n3/2,2n,nlogn,2100
p" @! {, x7 J# h- b+ J) B C.2n,log n,nlogn,n3/2 D.2100,logn, 2n, nn
; O( N5 m3 b. q% I[ ] 3. 已知指针p和q分别指向某单链表中第一个结点和最后一个结点。假设指针s指向另一个单链表中某个结点,则在s所指结点之后插入上述链表应执行的语句为
! x0 Y& W& ]2 g6 a. H$ V/ I A. q->next=s->next;s->next=p; B. s->next=p;q->next=s->next;
) k; Q l1 b% J( b C. p->next=s->next;s->next=q; D. s->next=q;p->next=s->next;
3 M0 M, Z5 q% M7 P/ P6 [[ ] 4.二维数组A[20][10]采用行优先的存储方法,若每个元素占2个存储单元,且第1个元素的首地址为200,则元素A[8][9]的存储地址为: }1 x4 M( g% n# x( b
A.374 B.576
$ U$ H: G9 e% w' I0 a9 l, ~C.378 D.580
# ]6 D% w' s" v" u: u N[ ] 5.设有一个顺序栈的入栈序列是a、b、c,则3个元素都出栈的可能不同排列个数为
/ [2 d+ u: r2 _" W A.4 B.5 $ X+ x) Z* G* H; ]0 ? M2 E
C. 6 D. 7; D& ]6 D: A. r
. |) g0 O0 M9 A4 L6 v
[ ] 6. 设树T的度为4,其中度为1,2,3和4的结点个数分别为4,2,1,1 则T中的叶子数为
# V5 K6 n. ^$ j A.5 B.6
9 Q6 p* p C# c+ t7 s6 t C.7 D.8
+ y4 ~1 F- k E- T, f- N[ ] 7.以下说法不正确的是
( j0 g3 K0 u6 ?5 k2 t A.无向图中的极大连通子图称为连通分量6 R6 ?" G4 i8 M0 B, R7 e! N
B.连通图的广度优先搜索中一般要采用队列来暂存刚访问过的顶点1 x( W5 S6 E. p% |
C.图的深度优先搜索中一般要采用栈来暂存刚访问过的顶点
8 s) v: J# @0 ]. V/ L a D.有向图的遍历不可采用广度优先搜索
, [* y9 @" G8 j# m' ?' o0 A/ r[ ] 8. 假设在构建散列表时,采用线性探测解决冲突。若连续插入的n个关键字都是同义词,则查找其中最后插入的关键字时,所需进行的比较次数为' C! T4 U& G* B z5 }5 {0 g
A. n-1 B. n C. n+1 D. n+2. K ]$ b2 @, h; ^; \
[ ] 9.设置溢出区的文件是6 o! P! K' s9 p0 n1 Q
A.索引非顺序文件 B.ISAM文件
" Y: a$ m0 C; I- R, u G i% Y C.VSAM文件 D.顺序文件
; F# J* j8 g j+ X4 \[ ] 10. 已知一组关键字为{25,48,36,72,79,82,23,40,16,35},其中每相邻两个为有序子序列。对这些子序列进行一趟两两归并的结果是$ t# S- n+ y; S1 K
A.{25,36,48,72,23,40,79,82,16,35}
3 Y$ k$ h" r9 Q' |4 l0 O' JB.{25,36,48,72,16,23,40,79,82,35}! F- u. c& ]; T R5 D. T
C.{25,36,48,72,16,23,35,40,79,82}6 y; R; X8 F J6 w3 N) d4 P- E) C
D.{16,23,25,35,36,40,48,72,79,82}
8 u2 \8 |8 V* X3 I4 t7 }- Q. X二、填空题(更多资料下载:谋学网(www.mouxue.com)1分,共10小题,10分)
" S! f2 O+ j. g" {11.下面程序段中带下划线的语句的执行次数的数量级是( )。
/ G: z$ A5 ]" Ki=1; WHILE(i<n) i=i*2;5 M/ B: }1 Q9 O8 j
12.假设带头结点的非空单循环链表中仅设尾指针L,则在第1个结点之前插入指针s所指结点的语句依次是( )。3 b1 u; t8 _% v2 F8 J4 {' s3 u
13.无表头结点的链队列Q为空的条件是( )。
: ]* K& o. Z4 p% |9 O- M14.设Q[0..N-1]为循环队列,其头、尾指针分别为P和R,则队Q中当前所含元素个数为( )。
5 z/ x$ F9 N8 ^9 ]7 g- ~. i" Y15.一棵含999个结点的完全二叉树的深度为( )。
( }" m( _$ L! V: u: m2 G; q16.在AOV网 中,存在环意味着某项活动以自己为先决条件;对程序的数据流图来说,它表明存在( )。
0 q. U' V; U6 Q- O( ?7 B: j17. 有向图G可拓扑排序的判别条件是( )。
, ]: R" ]7 M" C( Y18.如果结点A有 3个兄弟,而且B是A的双亲,则B的度是( )。
" @& ]$ O' K8 J- Z5 R* @6 H19.应用回溯与分支限界法解决实际问题时,在搜索过程中利用判定函数,也称为( )。
$ D* v* ?0 |) P( M20. 若以1234作为双端队列的输入序列,则既不能由输入受限的双端队列得到,也不能由输出受限的双端队列得到的输出序列是( )。
# \2 ]4 o" n# D. Z( \! i三、应用题(更多资料下载:谋学网(www.mouxue.com)6分,共5小题,30分)# q$ E( p y' ?: t8 V- W% |7 m
21.比较线性表和栈的基本操作的不同点。! t3 u8 H2 t4 f) w; n2 V
& O3 `9 D' n- U* }) p; g0 n
) Q$ O$ o' J: C5 M
' I6 V5 h2 s4 O: b3 L2 U
' u8 z, j. W* M1 ]* c2 U6 ~9 j
/ z" h3 |: ^0 T% ^6 v, @0 ]% ]
' v/ f4 E5 s6 n5 \0 q# d& i7 n; I1 J
- m; o! p3 \- [
& J. @' o2 j1 |3 ~! [; |9 [! r8 P' G
) w, P2 z- {2 q# O22.有一个二叉树按层次顺序存放在一维数组中,如下图所示:
- z/ F0 e1 q5 L* K' K0 i试求:(1)该树的后序遍历序列。4 d3 s6 o5 K. i7 `% I
(2)画出该树的后序线索树。
6 T" j1 d& \1 O% X6 n& \+ `1 2 3 4 5 6 7 8 9 10 11
S1 x& f/ e( c% ?, ?A C B E D
# @0 c5 o& Z/ E! Q. {! k1 A% w6 A `1 K6 C$ v
8 Z3 U- N5 g7 Q" v7 J; ?! Q2 G& d/ r! ?# x- K% C
7 b4 L0 k. r' z% P; I+ G6 F. h* D' f0 O1 E p; D
) x4 g- V/ T" A* X5 z& [4 H: ^7 d+ Y. E2 J; R( F
& s6 |9 ]0 ]1 E; _. S
3 P' w9 h9 X1 r" o: C% h
1 L5 ]# T/ h; o1 x! L
! [ ]4 ~8 P% W( i) Q @1 h6 s23.分析顺序查找算法的“监视哨”设置作用
$ p6 ]' P0 ?9 G. ]' V0 @2 n# ~* g+ |. Q: |4 x
) @; g- T0 t4 g2 [0 k8 {! E8 W3 g6 x, P. U/ _/ S) x
3 o/ w$ Z9 x# B5 b
9 P H0 {1 U e' ]4 d8 X% ^- g( d8 o& ~9 _8 M* a
& S3 k7 k5 |* {2 d2 f: v
% ]4 {5 l1 i& X+ y
2 u4 Y+ m: T- f" o( u1 X
- S. z% i6 _6 f( O3 F7 Q. A6 M24.对n个整数的序列进行直接选择排序。
0 a/ `! H! Z" u (1)算法描述。
+ x* H" F: Y7 f: `, B6 ^ (2)并给出实例(52 49 80 36 14 58 61 23 )的排序过程。
; m/ K3 }9 @! M. V5 z4 D7 b1 Z
/ w, w, t, S% Y" h' O, j1 A) [$ y# \& w1 M3 Y4 h
" ]7 k1 L6 K& N+ {! p6 F' \
7 [ @0 C5 v8 _( `& O1 u5 t* o$ g J; |
; a- b0 h( h! w) F$ s+ t; P; q1 x
+ Q+ R! c' f3 T3 D9 I& s" t
) w/ d. s/ _ c
% v4 ?( Q, E2 D' ?0 ?7 v
6 u$ P, l- x, y% p0 {, U
9 E+ E/ z h8 S% C2 h+ b
" h1 t7 X7 r: E( U* K% X6 X
0 G1 f3 _& l7 H, h3 k# H% u) M+ G9 o- I0 u8 c# q# |
7 V1 _8 U3 D' p
25. 已知有一个10个顶点的连通图,顶点编号为1至10,其边的关系集合表示为{(1,2)(1,3),(1,8),(2,4),(3,9),(3,10),(5,7),(6,7),(7,8),(8,9)},试求:画出该连通图及以顶点1为根的深度优先生成树。/ W! A* X) x" [" ~/ x
5 T: _6 C) t7 s0 B0 o5 X, @
9 R1 ?$ F% F( H4 D
/ H$ @1 \ g& _
( c5 B8 g% k Y" g' K
1 ]) m/ c+ P+ T+ W0 R5 K: g
% f4 Q% g; B$ H C1 A) L* K
, u# y p3 Q- |7 Y+ n9 z8 o7 Z9 ~& d1 i6 U- c: `
$ o+ E9 N0 s: y% c6 D( j
& L2 {. W5 J5 T" F8 r& |/ X) I* W/ D/ i( M, r
5 X8 e2 H8 Y3 M' G# ~$ m# F
" Y- l8 i2 I" |0 F1 O5 ]
r% G# m$ t9 {/ G$ p4 G& P
' R/ Y; z1 i9 v& l" @9 W1 e. M6 ^( G4 K6 Q0 [: b; P
! u4 ~ c' s2 g9 e4 i四、算法阅读题(本题10分)
- s% r U+ k6 e+ E0 ?26.设计算法实现以链表作存储结构,将线性表中前m个元素和后n个元素进行整体互换,即(a1,…,am,b1,…,bn) 改变成(b1,…,bn,a1,…,am)。阅读算法,在横线处填入语句或注释。; n, n, P! e3 d8 W1 ?
void exchange_L( Linklist &L,int m ) { / Z! k7 M; H2 x6 F3 w* N2 H& H1 q" X: `- @
// 本算法实现单链表中前m个结点和后n个结点的整体互换$ h4 @5 R5 a; N9 I! X
if ( m && L->next ) { // 链表不空且7 u6 O- _8 H/ H, d+ _) a3 p
p = L->next;
& }5 }" a0 h$ R7 z J0 Z! r (1)
2 `; F# x' p; r1 b% d1 W5 m, C while( k< m && p ) { //(2)0 a/ ~' B- _* `" N& P( E
p = p->next; ++k;
3 X9 w# G ^, a, _ } // while
- X$ t S$ l1 X3 i- x- y0 d% `) A if (p && (3)) { // n!=0 时才需要修改指针% X- I3 z2 F' n% h; [# W% \/ I
ha = L->next; // 以指针 ha 记a1结点的位置
: z6 s: n! y, t8 A2 D+ R (4)= p->next; // 将 b1 结点链接在头结点之后' O& H* | q. b! T
p->next = NULL; // 设am的后继为空% N0 h) N7 O6 H! F3 N1 K( O/ X
q = L->next; // 令q 指向 b1结点 % }6 ~9 z) C# E N/ D1 Q
while (q->next) - c" ]! m+ k ~" y2 {, V
q = q->next; // 查找 bn 结点 1 F- h K' a; I( I; F- {- T6 l
q->next = ha; // (5)3 }. P3 o; D4 n0 L
} // if(p)
: T& K9 S* [. M' } } // if(m)
! S( l! \ Q# T) }7 f } // exchange_L
0 Q; q1 D- i% Z" P5 c; M& ]1 N9 T) y: _" n
(1)# _' I$ d1 Z# j6 s
(2)3 r8 q y, `; o' z& T5 ^
(3)8 R4 i j/ R1 O1 x E
(4)
( s3 n8 f+ U, y2 L1 v r% \(5)7 p- a a; _. ]/ o5 c4 v
3 Y4 Z; b9 R/ B6 H1 J
; I+ y& ^- x8 K# z6 o8 @& `' E
' x! A c" p0 j5 i1 B1 |# j; n& L/ t& B
7 ^( i% c1 g4 I! V' j
( z1 m. g* y7 a D! H* g* f% {9 h' q8 `0 E7 E' q
5 m! z: J3 r0 H3 b7 Z, o+ M五、算法阅读题(本题10分)
- F! f2 V2 l+ |27.设任意n个整数存放于数组A(1:n)中,阅读算法,指出功能及分析指针i和j的作用。
: t! @, p! e9 Evoid Arrange(int A[],int n) {
% H8 F/ R9 O7 P" m& Q1 w2 ]6 l // n个整数存于数组A中
( o8 @" ~, V; J$ @) W- q int i=0,j=n-1,x; // 数组下标从0开始* ]9 M9 {+ y3 t5 W% [! I
while(i<j){
% I9 o) [1 t1 y) M. n; Y' K while(i<j && A[i]>0) i++; ( q" n5 v B8 j, _
while(i<j && A[j]<0) j--; " b9 w6 U" U* r# H. R p
if(i<j) { // 交换A[i] 与A[j]
0 s3 X% J: c' L9 n; K) p x=A[i]; A[i++]=A[j]; A[j--]=x; 7 z8 S% t' Z+ N* g
}// if
. L/ q. |5 L6 l1 T }// while9 L5 C D7 z& \( C' L% D
}//Arrange
/ R; p) | g# C: F/ f
. |; k# l4 N8 n {$ y( u) E(1)功能:
6 A1 J' W, y6 C& y3 v(2)指针i和j的作用:
% B7 v. M8 U6 ~% q" ^ W8 f$ G4 s' @
六、算法设计题(本题10分)0 I2 X, V/ B* s1 t* b2 v
28.设计算法purge_Sq实现删除顺序表SqList中重复元素,指出其算法的时间复杂度。
6 F0 ^$ J& O9 h G* k) G% V% j/ ^1 ?3 v. i8 D- ~) G" { X1 J
" c0 l o* b4 a* C" ?2 t
3 v$ I, x# h9 z( E% }+ D" g' }7 H& C/ Y8 u
3 @4 z. A2 O" X& e$ V, j( o
# i+ M, P2 f4 I# W
( s m' J" n' {6 v q) l. s( O* _( ]4 \6 G3 q5 X! i4 ?
* u$ e2 p/ ~) j+ P+ f" L+ @
& l0 Q" B9 Y4 o0 p5 y
# G2 B& P' ^, [$ h4 N
4 C0 K7 N% R [) ^9 I$ j8 {
+ D; q* J) @' h* l9 n! ^3 j/ B
# |5 K3 ]+ m* v' ?
0 Z/ ^: ?3 s: e- F' i; v' C) R$ ^
3 k3 K. o7 _% N i o
) P2 w6 E& \( B$ T; i, ~2 ]
七、算法设计题(本题10分)
% o9 C$ ^0 R5 u5 o g29.设计算法从图的邻接表结构转换成邻接矩阵结构的算法。& z8 g+ n1 u" ?2 Z* ^! G \
4 l, e5 f; I% `7 f, y; X5 h* Y' Z. e" b
; A" L; v% f) N" @; d6 c' ?
7 }* k( O/ x( h5 y' H) S1 @4 J. R( I
1 v2 e' p! G0 Z- ]3 m" T5 n, A( W5 f, T2 r! m' u% n
" U9 f& ~! l' M) |7 Z% S
4 V( x7 K7 R6 m( Q4 u. \- X) i
`" ^; F' b; ?! U4 |& m
9 n* }$ |; S7 D' f% L6 e2 Q, |7 X) ?0 |. \
; N* J* O6 f5 u! ^8 z; [ O
/ U! i1 A4 p7 ?% G. ?- {5 |
" M/ ~- x( O2 R. a8 P# A& Z; m
/ \/ }9 [0 D9 q+ P: C2 f4 w% l9 @* d( s
& _+ o4 u$ E: b& H$ G2 g4 Z
) N" B1 O" }9 E: W6 _+ }' l7 x9 ?# M4 Q X4 {- |' v9 u
|
|