|
一、单选题(共 25 道试题,共 50 分。)V 1. 若串S=’software’,其子串的数目是( )5 x* j1 a6 g* C9 e/ C
A. 84 b3 ^) e1 j2 [7 b' S) C1 b
B. 37
' Z3 N$ h* X+ j( I; I) eC. 36% u1 A0 W+ S$ `- H9 Q, @
D. 9
& q6 z. p- @1 r' n& R 满分:2 分
* C3 ]5 k8 `. q1 }2. 在单链表指针为p的结点之后插入指针为s的结点,正确的操作是( )
) h. K8 d, ~! D' D9 Y* n" M1 RA. p->next=s;s->next=p->next;
4 h# w# O4 t0 [B. s->next=p->next;p->next=s;
3 o9 {9 w0 X( s0 Y8 g' E8 k0 vC. p->next=s;p->next=s->next;
8 i, m/ R0 Z+ d( e1 TD. p->next=s->next;p->next=s;
0 W7 x% e* a0 ? 满分:2 分' D: N) J% S* p {. q9 m
3. 链表不具有的特点是( )
6 r) t$ a/ K% E1 c. u& V1 q1 V0 G* LA. 插入、删除不需要移动元素4 H2 x0 X3 o3 s) b0 H( N
B. 可随机访问任一元素
. X2 l+ \8 f# I0 dC. 不必事先估计存储空间! @6 G S9 ~% L: W: B9 P& P4 A) m
D. 所需空间与线性长度成正比
, [1 N6 `8 m: l4 S S 满分:2 分5 C8 v0 o) _$ _, |2 F2 e) H
4. 对序列{15,9,7,8,20,-1,4}进行排序,进行一趟后数据的排列变为{4,9,-1,8,20,7,15};则采用的是( )排序。6 w" h3 i/ r' Q- F1 ~
A. 选择4 I& B. c/ B4 w: d5 b9 C
B. 快速. G/ O8 b* f1 a6 k4 X) x) L
C. 希尔
z5 j: {! e% G JD. 冒泡
5 l- m6 H5 x( `! S, r, \* g+ i4 z0 J 满分:2 分
& t' y" r6 m) C7 q' d( h5. 有六个元素6,5,4,3,2,1 的顺序进栈,问下列哪一个不是合法的出栈序列( )
. O" s+ u L2 z, ^A. 5 4 3 6 1 2
4 b0 E- Z! G! l# U2 KB. 4 5 3 1 2 6% T7 I# C' p) ^( ~2 Z1 j- I! y
C. 3 4 6 5 2 1
4 q! H) b' N0 a' g& u& B* JD. 2 3 4 1 5 6/ X' o; K" Z/ F B% Z% G
满分:2 分+ m) F3 F6 Y7 |
6. 适用于折半查找的表的存储方式及元素排列要求为( )
& l; }" P) N! S! K* g ^9 SA. 链接方式存储,元素无序
" l5 j( c1 }+ o/ h: YB. 链接方式存储,元素有序
3 k( X* w; w" S0 Y& bC. 顺序方式存储,元素无序
& \% |8 J) }' o$ BD. 顺序方式存储,元素有序! {& F! o: X$ W' M" b- ~- o
满分:2 分
6 n$ u# ]6 B2 ]8 v# ~; w7. 字符串‘ababaabab’ 的nextval 为( )
% J t" L3 g5 j, k6 ]2 w8 Z" @; _# {A. (0,1,0,1,04,1,0,1)
- K3 C' {2 a; _4 HB. (0,1,0,1,0,2,1,0,1)
[5 \& k& E0 {( V' B b. yC. (0,1,0,1,0,0,0,1,1)
) v7 B& v' L3 z6 N9 i8 j$ xD. (0,1,0,1,0,1,0,1,1 )
4 O# \0 J |8 }, l2 s 满分:2 分+ B3 t# \3 S- r6 L7 X
8. 对于栈操作数据的原则是( )
- r- _" r6 a! IA. 先进先出( P3 j# _1 j* @: @5 Y8 N) `% k
B. 后进先出
. P, }+ H5 D6 sC. 后进后出. C# h0 d7 {: ^& M+ L% A; |6 \
D. 不分顺序/ U; N4 }! h8 T+ H% E
满分:2 分
( n" V* `4 T/ y8 k: W6 {3 o9. 下面的程序段中,对x的赋值语句的频度为( )FOR i:=1 TO n DOFOR j:=1 TO n DO x:=x+1;1 \+ t4 l0 ?) ], u( Q" c( i1 m" {
A. O(2n)
+ M) p2 I" f RB. O(n)
' m: O$ R, x& N( s) ~7 O( Y+ o$ |C. O(n2)( D! h+ B0 _8 _- b: D, |) n x; G
D. O(log2n); ~2 k1 s& H O
满分:2 分7 o" ^8 Q9 }4 u
10. 散列函数有一个共同的性质,即函数值应当以( )取其值域的每个值。8 I3 f3 P8 t N
A. 最大概率
8 Y7 ~0 V" m! Z! S: A4 ~' L+ \B. 最小概率) O0 C: M8 K! w) g
C. 平均概率
% h5 ^- L6 M+ n8 a5 H% QD. 同等概率
+ K7 u9 m2 Z0 Y1 @% m1 v+ D 满分:2 分% _- a' `( u3 Q g Y$ ~, V
11. 在用邻接表表示图时,拓扑排序算法时间复杂度为( )
* W" c! E( I8 e, v4 y, vA. O(n)2 y5 D1 t7 s1 {* n9 r- a
B. O(n+e)
# W4 o9 x J: ^4 [C. O(n*n)
' f: M9 A8 j8 y8 T& g* H! UD. O(n*n*n)" M! h. }9 X( ~( D3 N( U& d6 j- [) | e# H
满分:2 分
0 @( n' B% {0 m12. 栈在( )中应用。) w$ v+ `; ^2 @) Q
A. 递归调用( G& _9 `/ ?: u+ y$ u7 d- ]
B. 子程序调用( N6 I5 s3 t* x0 @) C0 @# w
C. 表达式求值
$ b0 w1 S+ W9 z# W" pD. A,B,C6 W: a2 g# M$ n8 f
满分:2 分
5 Z. m& I- r+ t6 w13. 一棵二叉树的前序遍历序列为ABCDEFG,它的中序遍历序列可能是( )
( f+ H" s. ?/ h9 A( v. n7 h% aA. CABDEFG
) C' }! S- {9 `9 t% H4 \( iB. ABCDEFG
+ d9 q1 V0 O" q) \- C1 wC. DACEFBG1 M9 s: l4 R: |( @
D. ADCFEG, d* M5 ^5 ]( v2 q
满分:2 分3 ~3 J# H+ O8 i6 u. }" `
14. 从逻辑上可以把数据结构分为( )两大类; Q- L9 p/ Z5 W4 Z2 F, h
A. 动态结构、静态结构
3 e: ^+ q+ c1 N( {" {2 `+ dB. 顺序结构、链式结构5 t! e5 j/ x; {5 J+ B
C. 线性结构、非线性结构
$ Q, l& y- A; u0 o2 Y" SD. 初等结构、构造型结构
8 \# R/ A/ @8 y4 k 满分:2 分
3 L% u2 B. [% m2 O15. 若要求尽可能快地对序列进行稳定的排序,则应选( )
! g* ]( v# A$ vA. 快速排序
& Y! }# I% ^5 K2 @4 v8 u! @& yB. 归并排序0 I' v2 \4 y, M1 K. b& w
C. 冒泡排序
, h( u% {% j. C0 l _& mD. 堆- j! R6 W; o% |4 m% D; a
满分:2 分3 M' @0 T# Z+ W. V- Y2 w
16. 已知串S=‘aaab’,其Next数组值为( )
+ @/ [; P0 f7 E: o5 i* AA. 0123
( D% I- S% w' G- GB. 11239 v# J; m6 e6 T% U0 D- A
C. 1231
* ^3 D9 c7 g/ k6 s! kD. 1211
5 _9 a, [( n# A 满分:2 分) z" o! \/ }; B
17. 树的后根遍历序列等同于该树对应的二叉树的( )
3 g; H2 W0 g! R0 ~A. 先序序列/ T. U- n! d( ~4 g& F3 r
B. 中序序列1 y7 s/ L* t; R& C" z
C. 后序序列
% T# T3 h7 X: g% N4 d n2 C0 z; e# oD. 都不正确* t- ^4 I; p( [3 C. \# t
满分:2 分8 }3 l/ V$ X; `2 [( w( _4 j
18. 设森林F对应的二叉树为B,它有m个结点,B的根为p,p的右子树结点个数为n,森林F中第一棵树的结点个数是( )' T' v# y2 r8 V
A. m-n
! V9 `; y# k5 y3 u1 \B. m-n-1
A& p. k! N$ t8 t* `9 L" r; `1 DC. n+1& ^9 k* o' n# O; R \
D. 条件不足,无法确定2 _7 s3 G' T/ J/ `; D' ?+ O! a8 Z
满分:2 分
! G& {1 d( g: V1 `19. 设无向图的顶点个数为n,则该图最多有( )条边。
! C/ _% j2 ]+ V& ^: [: yA. n-1! g. q. q' c* Z% B
B. n(n-1)/2
! ?- Y* C. D! ]4 F3 A. Q6 OC. n(n+1)/2
/ a' b/ A3 L( k* s9 t: @9 H9 oD. 0& @6 K( w7 c$ {3 C5 \5 E: C. H
满分:2 分7 d( x/ u6 e7 B: q3 v, W
20. 具有10个叶结点的二叉树中有( )个度为2的结点, b) V8 F0 V- A& c- I) d# ]
A. 8
9 G( F9 Z) p* I. QB. 9
& |& w% ]) A/ c6 x- M0 L( Y2 W9 yC. 103 l, r" R% A* ^# M% k
D. ll
! p9 _7 {; E7 v1 F( m% [ 满分:2 分
4 H i# H4 X" U, h5 h/ Z9 {# {$ r21. 下面给出的四种排序方法中,排序过程中的比较次数与排序方法无关的是( )
2 x1 a8 f- ?5 I/ B/ s5 eA. 选择排序法
, u! [- E% d4 HB. 插入排序法9 M' ] x0 U1 x* Z9 k
C. 快速排序法
$ ?6 o b2 `6 \9 K3 PD. 堆积排序法
* J* L- l6 _/ h, v! r+ Z 满分:2 分$ O# X; m8 l5 C! ]5 M! K
22. 在一棵二叉树上第5层的结点数最多是( )
9 H$ D7 y, x+ j; I3 S4 n* n$ xA. 86 |* }! C. e9 i' R" x8 |
B. 16
& ?- v3 X! r1 I0 h6 G2 HC. 320 [; H; ~* }9 G
D. 15
1 P% `- ^9 H" f" _ 满分:2 分$ h# M; _7 P5 a- m
23. 设有两个串p和q,其中q是p的子串,求q在p中首次出现的位置的算法称为( )
: y& b1 _ a0 X3 Y( [. s$ jA. 求子串
- A3 K9 B& ]0 M. X* QB. 联接
' o. n" ]' | H% hC. 匹配
& u' e1 t7 @3 D8 YD. 求串长
. ~+ {! T; ^2 y% k+ O) @ 满分:2 分
" p9 _3 c$ H/ `# S24. 若长度为n的线性表采用顺序存储结构,在其第i个位置插入一个新元素的算法的时间复杂度( )(1<=i<=n+1)。. m; E5 W' H7 a& g
A. O(0)3 J3 J5 E; m- e" ^ k2 _
B. O(1)4 x5 z3 c D- U) S( F2 v
C. O(n)
; w4 `+ i2 R, c o. dD. O(n2)
+ e& k* H; D8 ~4 g5 G 满分:2 分3 ~3 ?0 W1 B. L! P1 z% g
25. 从未排序序列中依次取出一个元素与已排序序列中的元素依次进行比较,然后将其放在已排序序列的合适位置,该排序方法称为( )排序法。9 Z" |. A$ d/ s N9 l# k- D; e
A. 插入0 ?) E0 p7 X9 }
B. 选择# V. a$ O7 o0 L% ~ U
C. 希尔! s9 d6 U1 ^0 d6 k6 C
D. 二路归并
+ S8 @% h' c& _ 满分:2 分
! x, y; D: s, w二、判断题(共 20 道试题,共 40 分。)V 1. 消除递归不一定需要使用栈,此说法( )
7 v' P$ r. ?3 c( KA. 错误& N: u% \% L6 O A
B. 正确
) o s8 y6 P; ]% i+ ]/ D5 _- q 满分:2 分) ]1 R% N8 K( u4 U4 ~) Q
2. 栈是实现过程和函数等子程序所必需的结构( )7 b9 X U8 ^- T
A. 错误2 R* _$ |0 x' o0 q, \1 j4 d( h
B. 正确. p% t( o; K& b* m" F
满分:2 分0 ]! C4 d6 V* _& Q" o+ W5 Q
3. 对任何数据结构链式存储结构一定优于顺序存储结构( )。
1 h( v0 S9 R/ b# y% ^' xA. 错误5 s" ]# u) M Q: C3 O
B. 正确 d% r8 V: @" b
满分:2 分
& X: t) A; O& d6 C- B- ]4. 用一维数组存储二叉树时,总是以前序遍历顺序存储结点( ) d0 B& g8 `) L. w* w* R9 @: {' `
A. 错误
- Q1 J1 Y, G" @/ l( GB. 正确
9 v$ P# H& u- J/ x' v' g; W 满分:2 分. K: {! l# ^; F- A6 J; a+ y
5. 任一查找树(二叉分类树)的平均查找时间都小于用顺序查找法查找同样结点的线性表的平均查找时间( )
" D( _! q3 y/ M6 e5 UA. 错误
9 z5 u1 t# Z- BB. 正确
" H, \8 b( Y6 I* c, l 满分:2 分
& |3 d# n* u% J$ h/ h8 a, _6. 完全二叉树一定存在度为1的结点( )
8 K# i* T% N/ ^# c! j" Y! M% JA. 错误! T9 d2 F# w' k
B. 正确# c0 L) Z- ~. Z- P2 E! y
满分:2 分
. t0 C0 H9 H. O) W: U2 ?- d. `& ]; t7. 在查找树(二叉树排序树)中插入一个新结点,总是插入到叶结点下面( )9 I; ]3 F9 j% L) r# F7 o: C/ ]
A. 错误
5 H m; X5 F7 r: FB. 正确9 S0 U; n/ F V! S2 [
满分:2 分
$ u, n7 P6 Q( e3 |0 E8. 采用二叉链表作存储结构,树的前序遍历和其相应的二叉树的前序遍历的结果是一样的; N! S6 V9 Z5 h N1 t2 G g; |
A. 错误& e7 \: p1 \/ _- ?" d- _) M4 @
B. 正确7 q, v$ O- `& d9 R
满分:2 分
, }5 h6 z% U# ^& ?9 I a1 l5 d$ ]9. 顺序存储结构的主要缺点是不利于插入或删除操作( )+ l; R. l! _+ L1 ?
A. 错误
, b" F! K; y+ Y8 R. ~B. 正确6 H5 O, [! C/ i) ~5 N" ~2 {7 y( ?
满分:2 分
7 e) U1 T9 s8 @# x10. 直接选择排序算法在最好情况下的时间复杂度为O(N)( )
" v2 ?7 O$ z% M6 y; d. mA. 错误' O3 T7 E u9 @
B. 正确% [+ s2 o& f+ g; F" }6 i8 X
满分:2 分
* s* W5 u4 w- L& }0 c11. 队列是一种插入与删除操作分别在表的两端进行的线性表,是一种先进后出型结构( )。3 v( }# U6 Q) p, W4 Q1 o
A. 错误
! T0 m' L2 h3 JB. 正确
. T- U- [9 C' K1 L8 k2 I 满分:2 分
! V: m- A5 p9 `9 h12. 一棵一般树的结点的前序遍历和后序遍历分别与它相应二叉树的结点前序遍历和后序遍历是一致的( )1 ]1 ^. g( x" s7 M
A. 错误5 y( o9 E- \* S K+ O
B. 正确3 t3 N: N8 D$ s2 s7 L
满分:2 分
9 x% u7 f' |. y% _! O13. 排序算法中的比较次数与初始元素序列的排列无关( )9 L% |8 ]$ W# q1 X/ ]' E
A. 错误3 \' F# N6 k5 K) A4 V% R
B. 正确 O9 \# P9 ^3 `3 M* v8 g# `! ]
满分:2 分
! @) a; H( T+ X u% C# G9 a! W14. 用树的前序遍历和中序遍历可以导出树的后序遍历( )9 S% l% y6 \" Z t' K& \+ _. m
A. 错误4 _4 ?* {2 m+ \; D5 [
B. 正确
9 J1 m, u6 V$ Q 满分:2 分
& Z5 K u! g# L15. 健壮的算法不会因非法的输入数据而出现莫名其妙的状态( )。
& E5 V3 P" w- {, m* s3 WA. 错误
2 L3 D4 E- P4 j/ sB. 正确
2 F6 a6 }) l, c 满分:2 分* `7 E# M, d: }
16. 广义表中的元素或者是一个不可分割的原子,或者是一个非空的广义表( )
8 }' f. _3 Q% n# l% r* iA. 错误
* }0 f' d# S' gB. 正确) q; N2 Z" m( j4 ?' E! k- w- {7 q7 P
满分:2 分
) m& Y3 k! t9 p5 c17. 当待排序记录已经从小到大排序或者已经从大到小排序时,快速排序的执行时间最省( )。& l$ R& c k2 W8 y5 J, t: ^
A. 错误
7 P. ]/ Z* \: V( ~# @1 \B. 正确
. V* R: W! u& {. N8 ^: k" W4 M 满分:2 分
& g7 V5 [9 o, G. u18. 二叉树的遍历结果不是唯一的( )1 H3 Q/ ^- X+ h' q
A. 错误
3 M8 h0 ~( _2 n5 V$ LB. 正确
) p! B6 U a5 h: b5 P9 ^ 满分:2 分% w: _3 R2 R3 O' }% d9 [3 y5 Y. }
19. 二维以上的数组其实是一种特殊的广义表( )
1 K* R Y2 D$ ?A. 错误# ?. K7 W; X* A8 I: Z0 {
B. 正确
5 T* r# D k/ Z0 q! ` 满分:2 分6 \8 R- Y7 E* I. H/ E& x' s
20. 在执行某个排序算法过程中,出现了排序码朝着最终排序序列位置相反方向移动,则该算法是不稳定的( )
* p1 O) T1 Q6 ~% l% W3 AA. 错误6 Q* b' ~+ F$ Q
B. 正确2 s V" Y) H; k# s% X! k
满分:2 分: a/ L+ j: _+ M- D! x1 A* z% b$ @) `
1. 以下数据结构中属于线性数据结构的有哪些( )
0 K. f" R* c8 E: z: G) V. [A. 队列
- g3 v' g) ]! M* M: @$ pB. 线性表
- Z2 o) e& }( \8 w, jC. 二叉树* a( \7 S1 ^9 K7 _. h8 L9 @
D. 栈
+ W/ ?1 f( \+ w) N 满分:2 分
0 }! k' ?. o9 F6 v; T' ]9 s2. 在有向图G的拓扑序列中,若顶点Vi在顶点Vj之前,则下列情形可能出现的是( )% { ]' i3 ~" P( r
A. G中有弧<Vi,Vj>
7 E1 r5 \5 k* B1 ? VB. G中有一条从Vi到Vj的路径' n+ w. ]" `; u4 S
C. G中没有<Vi,Vj>
& o, _; i- d9 K5 PD. G中有一条从Vj到Vi的路径
1 b0 v" s- L8 [" n* i+ j& }% ^7 } 满分:2 分- Z w2 L. }# M" m; i3 d
3. 下面关于线性表的叙述中,正确的是( )0 h8 ]. G/ [3 \& b
A. 线性表采用顺序存储,必须占用一片连续的存储单元。; f! }* ~" @1 C$ ~$ x4 D" \
B. 线性表采用顺序存储,便于进行插入和删除操作。
2 t0 c, O" Q* U) F& B! l6 K. F) zC. 线性表采用链接存储,不必占用一片连续的存储单元。
; m, G y' ~6 L" o0 LD. 线性表采用链接存储,便于插入和删除操作。
! {7 ?8 o, F& D6 W8 X4 I% i9 @ 满分:2 分6 q4 `* h2 h$ j: s; q- W% F$ [
4. 下面说法正确的是( )
* E- e! i" i# x. ^# m' c( e8 gA. 广义表的表头总是一个广义表
5 D, n, h4 [# u/ r% KB. 广义表的表尾总是一个广义表9 Q ]/ w6 \0 ^$ [# I" Z
C. 广义表难以用顺序存储结构 I9 D' c# u5 m I) G8 y) j9 }
D. 广义表可以是一个多层次的结构- e9 x5 p- F# @, l+ p) @
满分:2 分
2 K# ^ j. l: l) Z3 B- b7 o* I; m- D5. 下面关于串的的叙述中,正确的是( )
' A& ^3 N0 k: @) ?A. 串是字符的有限序列
I5 G8 M C( B: O2 \ u/ NB. 空串是由空格构成的串% X% a: q5 ]/ K; f+ R4 A( a
C. 模式匹配是串的一种重要运算5 s: F$ p- h ]! a! a
D. 串既可以采用顺序存储,也可以采用链式存储
' P0 `/ e+ n' l; {, M 满分:2 分 |
|