|
% u1 n& J5 E9 G4 x. i13春学期《数据结构Ⅱ》在线作业1
2 L3 p# T9 O) o3 D4 u0 {+ A
0 ^& K2 U+ q5 W4 g. R8 h$ m# o单选题 ) N1 _; q5 z8 ]! y$ ~$ m$ |7 u
+ T0 G( e& v& |. H2 F: x1 a/ U
) A0 U- I/ ~! e7 [! J# `) b$ d* K
一、单选题(共 20 道试题,共 100 分。)- Q2 ~2 l$ m4 {/ m8 d. U
1. 2 o2 A: x3 i! W3 y
在分块索引的在顺序表中查找,算法中采用的最佳技术是
2 k. z; |! Z: T4 [7 KA. # T9 p1 M$ S! w& L8 T3 n c% _
穷举法 . x" ^* ]; X7 W. D* N
B. % r/ U% B" y8 j' k: {- y
贪心法
- H. D" e9 x) fC. 7 Y, X# _4 U$ U. Q
分治法 $ b, A4 ]( r& K3 A9 w9 t* o
D.
( m p% O/ E% g2 {# J5 a分支限界法/ z% J8 W2 S1 \' V, M6 o
-----------------选择:A
9 I4 Z! v# v; B! E& _2. 9 t! j* M8 W5 s o& c
若要在单链表中的结点p之后插入一个结点s,则应执行的语句是
9 D1 L n6 v. x. c* m& M7 X
# h+ P' q" ?, T% Q) hA. s->next=p->next; p->next=s;
, g! _* o& u# \B. p->next=s; s->next=p->next;
. J: X( @3 T) i2 i. x0 g 7 n/ X8 e; ?/ U
C.
9 k3 r5 G+ V; i' c ^: sp->next=s->next; s->next=p;
. u8 d. U" I4 W' M- o. vD.
1 T+ S- Z& c. M! z3 s% i5 D; Us->next=p; p->next=s->next;
' O7 |3 z: {0 G# W-----------------选择:A
- X. u) O& b& {2 `! Z( d3. [) z Q0 N C1 a
下面说法错误的是( A8 S- [; U. U4 | K# X
(1)算法原地工作的含义是指不需要任何额外的辅助空间
% I% u/ R: M' a, h5 Z (2)在相同的规模n下,复杂度O(n)的算法在时间上总是优于复杂度O(2n)的算法 0 p% \( v, X9 e4 s! H4 f
(3)所谓时间复杂度是指最坏情况下,估算算法执行时间的一个上界
* O# Z$ Y& i: b: U9 d$ f/ P. l* B5 Q (4)同一个算法,实现语言的级别越高,执行效率就越低
8 I$ S ]8 ^$ e2 o: q$ c* G$ ^A.
. p; n( s0 d7 P7 x0 N (1)
! o: k$ k7 w n' o. s3 rB.
. e Z/ l1 y$ h3 z (1),(2)
! J# ]; m& X! G. u# Y- lC. 9 `. h' s* ~3 b5 g" t
(1),(4) - Y9 w/ B3 x& d; ~
D. T7 f: q n8 E2 Q
(3)
# F. J/ S; E1 W: B, c* D( s-----------------选择:C 8 h# K! p4 }5 G. C
4.
$ F( _* |* _4 J y0 h k某带头结点的单链表的头指针为head,判定该链表为非空的条件是
( i7 K6 s1 U: w8 Y. C ; x) s4 X" V4 Q3 |1 ?! p+ z
A. head==NULL
5 z8 X* k- y/ U- ]B. head->next==NULL
9 A/ a( L2 z4 r( {/ I& v) ? 9 ]8 \/ C7 t) Y- V0 q
C. 6 {/ D9 z" j+ h+ W- Z% @6 V3 O
head!=NULL
- q4 L( a4 K$ N: x% N" zD. head->next!=NULL
( ^# D, P# G2 g) u; L1 K3 J J3 w-----------------选择:B % D0 ]* v! |6 E2 G! y9 [
5. 0 U* I/ F# `3 ^; r7 |8 Z4 F' q
在对n个关键字进行直接选择排序的过程中,每一趟都要从无序区选出最小关键字元素,则在进行第i趟排序之前,无序区中关键字元素的个数为1 a, W0 s# h) C7 p2 m; T' m \
A. * J$ o( u% N, n
i
8 k% R# K$ O8 N& ?8 P, c" ~1 }/ xB. ' m0 S; X3 @9 e# `
i+1
3 V* [. V, i, a6 C$ bC. 2 E3 |' ^2 ]- N- z h! `, h
n-i ( [! J* q9 f0 Q" t' w4 V+ f! z1 d9 U
D.
_, k/ S8 ~' x" M9 mn-i+1, L X5 Q/ {. P# `/ q- N* ?
-----------------选择:D
. ~/ I" X7 T3 I6. 6 w! g0 \7 E% v2 d# @
已知一组关键字为{25,48,36,72,79,82,23,40,16,35},其中每相邻两个为有序子序列。对这些子序列进行一趟两两归并的结果是8 c# O& H" Z6 V# _! A }) @
A. 9 v& Z- c" _" o5 R1 d5 O
.{25,36,48,72,23,40,79,82,16,35}
H u, i9 K% WB.
5 X% f3 P) E; g.{25,36,48,72,16,23,40,79,82,35}4 g# K) W$ m" L7 ^9 G8 _- @
C.
1 C: g5 s( H- c% o3 T.{25,36,48,72,16,23,35,40,79,82}0 X3 ]) f3 z6 R, q3 H* c" e
D. * L0 ~7 s/ O* h
.{16,23,25,35,36,40,48,72,79,82}
% \, ]2 v2 T b0 T/ ~: y/ j-----------------选择:D 1 B. x @8 }5 T) v9 {
7.
2 V- Z3 x! R5 ?! k, z6 {在长度为n的顺序表中删除第i个元素(1≤i≤n)时,元素移动的次数为1 v$ E4 ^ ?6 m% g) v h) e3 t4 V- P
& I) h. i' P) R3 ~- ~+ |
A. n-i+1
7 u& h9 i* I9 W+ C5 a0 `B. i
6 |3 L# c( @# C$ E1 D6 h3 M4 Z" B
3 h! q. U' {4 e; q" O) _# TC. i+1
8 \. ^) D; R* b _7 LD. n-i
+ @0 t' l _/ o9 J: f1 u-----------------选择:D , G) W+ j, ^; o$ L
8.
: z; K3 I# a3 |9 g+ n N( P) \数据元素及其关系在计算机存储器内的表示,称为数据的% u2 o2 @6 T' Q
& x N# Z- z$ ]% q- d/ c0 ?4 r) [
A. 逻辑结构
' e. [5 x2 X! Q! H+ LB. 存储结构
4 ]& [' d) Z: G+ _% ] 4 W z: e2 s: F' N7 g5 r4 G
C.
% r1 r/ Q4 }+ e线性结构 , w: O. T( h* p5 j7 N- j2 I
D.
7 M7 r0 B( c0 ~: ^; W! V2 l* z非线性结构
) v6 V, q: V2 a6 [4 o+ g6 }-----------------选择:B
2 q5 D/ w2 }( r: X# i7 s) C9. # c# ?+ F& \* i
假设以数组A[m]存放循环队列的元素。已知队列的长度为length,指针rear指向队尾元素的下一个存储位置,则队头元素所在的存储位置为
/ u/ p5 z: ?5 ?! w " c# [. j. e' C3 ^- K1 a, Z
A. (rear-length+m+1)%m
9 ?: P$ S+ Q7 h OB. (rear-length+m)%m 9 v8 c2 ?' t1 i( x/ k) W2 O
+ A9 ?' r3 D* t5 z! [; W. k4 NC. / o% I) g. X7 c" A' Y" C
(rear-length+m-1)%m , C) ~4 w1 s4 ~# {" o9 l+ ^- i
D. ! c1 J4 D- ~6 G+ e9 l0 n
(rear-length)%m
2 y5 E6 k8 Z/ ~- h u( z J" w-----------------选择:B
/ G' p2 ]/ T8 p* B10.
3 M& B0 u z* p4 q在图采用邻接表存储时,求最小生成树的 Prim 算法的时间复杂度为 f$ v. l' C3 A5 l" I
A. 1 i: p4 V" q( t! X# b5 ]
O(n)
4 q2 s4 e* o7 v1 \+ n! iB.
" p; h5 O. \% L2 u9 m' h6 C( n/ ]* {, [ O(n+e)
. f! e/ f& K' LC. * U7 S; n& V' ~: Y
O(n2)
6 w( m7 A9 i6 d. f7 T; @; kD.
' Y- J; B5 j' v x U O(n3)
* K& _$ h) g/ i9 ^% y-----------------选择:B
: b0 d; n3 E' [6 ^9 C X11.
- j/ Q. g# u: V7 M0 z9 U( `( ~& @在按层次遍历二叉树的算法中,需要借助的辅助数据结构是
1 C! l* N+ A' h$ x" I
; r2 I) k' g9 e. xA. 队列 3 L' u1 k% \/ ^" g$ V
B. 栈
. E' N% M( w; D0 N9 ~6 @4 `
, D1 j; Z0 d# E2 u, I9 `6 }C. 线性表
1 ~. V1 H7 U8 r4 U# `D. / b5 V3 H* [4 ^8 }
有序表8 V9 U/ U+ p' K! }% b2 u+ w# z2 _
-----------------选择: 0 }" P' u3 g7 [" d" w, ~
12. ! ~7 K- b0 G( `0 J6 z! B! r; w5 e
三维数组A[4][5][6]按行优先存储方法存储在内存中,若每个元素占2个存储单元,且数组中第一个元素的存 储地址为120,则元素A[3][4][5]的存储地址为
% o0 g# V$ i. |, Z8 ]6 {5 Y 8 j9 t, q: C7 e2 f' y5 \
A. 356
3 [' _' |6 D$ k) w$ ]5 L' _0 gB. 358! B0 B9 w5 M: R" B
C. 360
* R* G. S% S0 cD. 3628 g- d# q/ j' H; G: d
-----------------选择: / t% Z6 r0 U4 `) N% |( p+ D
13. , I% e5 J& g& @+ x. R! a* }
能进行二分查找的线性表,必须以
3 j3 ?. q1 G1 I# j# c ' j% l7 W2 g) s: F7 E
A. 顺序方式存储,且元素按关键字有序
; `' _& R0 H* j$ y2 Q0 y7 f 6 @/ [ M5 o* e6 z* Z- Z# f
B.
* \6 o/ q# q4 q1 m7 u链式方式存储,且元素按关键字有序$ W% q+ I) ?4 E3 Z/ S7 q0 }
! {9 e+ k( {+ J* ]( C" n0 nC.
/ _7 }: c0 B9 |2 i) J2 }顺序方式存储,且元素按关键字分块有序, b) X) ?/ Q% {* A+ Q2 ^8 Q; l
2 a: P; N' ?- O9 _& @$ M6 D
D.
" u6 @" z" ~5 D链式方式存储,且元素按关键字分块有序6 n+ R* g1 Y/ Y+ h' `+ ~
-----------------选择: ) Z" g0 W6 q& O5 d% k
14.
2 F; m B, _% ]对关键字序列(56,23,78,92,88,67,19,34)进行增量为3的一趟希尔排序的结果为
" D8 s6 o4 q ~; G; p5 x0 vA.
" ^/ D g3 Z( \ (19,23,56,34,78,67,88,92)
! w: N+ `( F: ~6 g7 x+ dB. 9 d' J8 X8 J1 m! r8 D
(23,56,78,66,88,92,19,34)
6 \6 ~2 o+ P( S. T8 ]6 IC. ) Z( R8 [7 q& _$ H' t
(19,23,34,56,67,78,88,92)
5 G5 \7 a. _) `2 a) @1 e* `; y/ T4 @D.
/ V" M4 d" C, r* w1 V+ a( k (19,23,67,56,34,78,92,88)
4 x! a& h' X. l( G- G-----------------选择:
) S, }7 j4 H2 p15.
' r3 v4 o+ q: Y) X6 M. C. ?5 D& E. u用有向无环图描述表达式(A+B)*((A+B)/A),至少需要顶点的数目为
( B+ y' t" w S! g7 M/ lA. 5
/ E( X. g2 n5 P( H- v2 IB. 6
- e: {2 U. A/ \; Q1 V1 t9 W! ` pC. 80 A a3 t. T! {3 m
D. 9
8 l1 q9 R, B" v1 i% y6 f-----------------选择: * l- G; i: r+ U; O+ U! k3 T0 H0 D
16. 0 A- P/ x/ Y0 m. m! B" U
下列编码中属于前缀编码的是
3 N! C |& H, N 9 b( J/ i8 g }. r! _1 @$ q' {9 ~
A. {1,01,000,001} - N- H J& p. }' c$ C* d
B. {1,01,011,010} 0 M: B* ?6 E3 R3 s7 v3 H
3 y4 r; m) Z5 B1 ~
C.
3 T( q! M6 y2 q' q{0,10,110,11}
" t' |% f3 d/ d* Y b1 \D. {0,1,00,11}
' Z5 c1 W$ J" Q6 ^- e3 L b* t, ?. S-----------------选择: & o1 K! n) J+ R1 z3 y
17.
H3 [. q x! O: M下述哪一条是顺序存储结构的优点
, o$ V, d+ j( F; tA. % {) ^2 E7 c9 O( C0 W% h: g
存储密度大 0 Q2 r% E/ `( T( m, h! U6 J
B. 1 U5 Q6 B1 A+ O% j- T
插入运算方便 ( P& h% I* W4 C2 v# J
C.
! x2 Y O2 c( ]. l; @% \删除运算方便 ! }. T) X* q, W2 S% A+ y
D.
! |+ ~3 A$ F$ g9 X可方便地用于各种逻辑结构的存储表示. i, o# R2 D9 J+ e$ L. q
-----------------选择:
# d$ U3 @$ K& q6 q( @% y18.
N* K, r! w8 _( ~下面的叙述不正确的是
( F# @( w0 |( l) B
. W+ f7 A( d8 [4 o# z! L$ OA. ) r; a$ F/ s+ B7 _# a# _
线性表在链式存储时,查找第i个元素的时间同i的值成正比
! p. b, A- t9 iB. 线性表在链式存储时,查找第i个元素的时间同i的值无关+ z: k0 Q9 }4 F0 ?
C. 线性表在顺序存储时,查找第i个元素的时间同i 的值成反比
6 B+ @$ Y/ `3 |1 D q; h% D8 eD. 线性表在顺序存储时,查找第i个元素的时间同i的值无关
" r1 Q9 C$ m: a( C: _-----------------选择: 9 f% S+ ]4 T4 h5 m( r
19.
+ h; S8 g9 S7 E9 N. o' j若采用孩子兄弟链表作为树的存储结构,则树的后序遍历应采用二叉树的
2 t2 G4 z* B0 H. p, C; Q8 T/ U
- p/ c/ w0 R. g) W. ^A. 层次遍历算法
+ |: N- u( P$ sB. 前序遍历算法
# K: B% A+ ^% i" v: { ) M+ b) A) t' i1 F1 j H& t1 X ]
C.
, r; j. N6 W/ g9 G& g中序遍历算法
4 l4 f9 i8 h3 d5 G5 N9 F. @: [0 QD. 后序遍历算法
) K. R8 u% c5 ?4 Z4 e-----------------选择:
/ l4 p3 J& P5 v6 C; A h0 w6 I; |20. $ C# u8 u1 t: g+ t' W5 f: N
在平衡二叉树中插入一个结点后引起了不平衡,设最低(最接近于叶子)的不平衡点是A,并已知A的左、右孩子的平衡因子分别为-1和0,则应进行的平衡旋转是, E$ Q' P3 _) o# |6 J. Q" ~8 [
: G1 E7 o0 {# F+ x0 t
A. LL型 4 p D9 g3 W' k2 ^) N
B. LR型
' [8 w+ L/ X% j" V ]7 C1 ?, c0 @
! Y& N+ I' Z6 B; X5 KC. 0 s3 b- R3 { r7 O2 c/ L
RL型 . ^$ r8 \" V' D" [7 ]; D
D. RR型. D, U# N$ i4 t2 ]
-----------------选择: # O7 H A }, |
" t( e; ~! _0 o
# g8 s( N% \+ K% E7 P" L |
|