|
算法分析与设计19春在线作业1-0004
/ l' l; E [/ l, z. O8 h试卷总分:100 得分:100
% K6 o: Y2 x7 f一、单选题 (共 20 道试题,共 40 分)
$ u$ o T( l0 P4 ^1.字符串"China Beijing"的长度是()# b" Z R' Q( |) M
A.12: l* O- T% i4 X1 X& v& x
B.13
7 A6 f) K7 |7 {( ?- KC.14* J; `0 o& T1 }( d" k: s' y( w
D.15
n# p9 j. l( h( P! z3 T正确资料:
- }; M1 x9 |, q0 I
t0 M9 y) N. `: M L- e, O2.一棵二叉树中共有70个叶子结点与80个度为1的结点,则该二叉树的总结点数为( )。9 u0 G. F3 d6 Y& J$ U
A.219
( @6 n2 Q) F! S$ `B.221& ?+ z) A, l0 x4 K2 x
C.229
3 `+ s0 f. x0 v$ U; B7 fD.2315 t& ^: _7 G- B5 ]5 [/ G! F4 X
正确资料:% m" r1 ^8 W$ C, @7 Z) J9 N8 o' o" i( D
6 @% W$ t& @6 |5 ]9 \5 X3.栈和队列的共同点是( )$ z: x/ f6 }) ^) Z. B" F2 [
A.都是先进先出
1 q+ z2 @3 X" k& e3 G1 W2 w* B0 OB.都是先进后出, S7 ^, ?8 b3 q( ^' I
C.只允许在端点处插入和删除元素: o2 t& E4 F: v) ~* i& ?
D.没有共同点' M) p) ~4 `( g- x8 Y g
正确资料
% Y" l9 Y; A0 c6 P0 t
: b. X5 w) Y& S& }/ e( @# M4.使用简单选择排序法对n个数进行排序要进行()趟比较。3 ?# _ ^( s: l) l% V
A.n
' H* L. d( n, fB.n-1' q% I/ R7 h2 J3 l! `
C.n+1! b5 |6 X' l9 J' E3 E) k3 c% m
D.不一定
- Y. y, n9 b4 \正确资料:
; C" k# o" v" M# ^; l& d
7 G: I+ ]2 }' b6 R, I' ]" ~5.下面给出的四种排序方法中,排序过程中的比较次数与排序方法无关的是()。/ u2 X3 _9 {5 ~
A.选择排序法* @6 r M6 j# L. G N6 c
B.插入排序法
# I' C1 o3 {2 u+ [( IC.快速排序法
, e' E, d0 `; q n. ?' e4 B" G! V/ L; {D.堆积排序法
3 H! r+ _! ]8 Y# I9 m T) v正确资料:
& B$ s. [# ]+ T5 n1 @: Y0 u9 u2 c! V0 u, _
6.图中有关路径的定义是()。
[; y- o$ j% ^# I3 j, a$ YA.由顶点和相邻顶点序偶构成的边所形成的序列
8 S' m. H- g6 q. r6 `4 i5 s3 lB.由不同顶点所形成的序列" L) a1 [" g0 ?1 [* y; X. U8 Z) ^0 ]
C.由不同边所形成的序列* W, R6 Q; t* N
D.上述定义都不是
, \0 Q7 h) i9 E! e: w h4 y正确资料:; q4 |$ L6 B, N' z/ d- H
2 O" {1 b* Y" [4 e5 M1 Z
7.执行memset(s,'a',4)后,s的值为()。
! U: `4 d) `7 _1 hA."aaaa"
3 A! S0 i& _& _/ _. q+ _B."a4"
! `0 f. r- |5 U) E1 ]# ^7 \( rC."4a"
- ^7 \# I! d' N" J0 uD."eeee"
# J) c7 L/ y1 K6 ^. |& X' {9 U# M正确资料:! T; y4 K y: b2 U* r
( f# o6 w8 R; c J. W: X8.一个算法的评价主要从空间复杂度和()来考虑。: [5 E' E$ V5 C* b% s" Z" _5 P
A.时间复杂度
0 \: r% |8 L& C0 q L7 U; QB.算法有效性- H( m6 l1 m _: o9 P3 r- G
C.算法有穷性
3 P& ]+ C# [# ^D.算法可读性8 e6 s, K3 k1 E; ^
正确资料:. u# l6 p7 K5 n* I" T( F. \
; s3 U* c: ?) Q$ h& S0 t- o
9.下面的时间复杂度按数量级递增的顺序排列,正确的是注释从功能上可以分为()。: j0 @3 |' j' ~# z7 I
A.平方阶O(n2),对数阶O(log2n),指数阶O(2n)4 U' C# e, ~- D' l
B.线性对数阶O(nlog2n),指数阶O(2n),立方阶O(n3)2 F' v' d# k' |! f9 B' d- C z% D
C.常数阶O(1),线性阶O(n),指数阶O(2n)
1 s2 b- i# L& ~5 \$ O0 Y( aD.k次方阶O(nk),指数阶O(2n),对数阶O(log2n)
% j; J; r7 R; W7 ^% J0 M+ n正确资料& i, X' X3 U) O z
8 e5 m7 [. V) N J5 q10.()嵌在源程序体中,用于描述其后的语句或程序段做什么工作,也就是解释下面要做什么,或是执行了下面的语句会怎么样。而不要解释下面怎么做,因为程序本身就是怎么做。* F+ h- V2 E$ z
A.文件注释
8 d' I& L$ H4 w, {B.函数注释
/ }* W# i- f" S9 r$ T& i# e5 d- C/ IC.功能注释! U& ?3 z0 U2 F, }1 m: G
D.程序注释
0 N6 M) @6 F9 R1 i正确资料
/ o! w- e8 G+ q* w ^
8 X% v. O: U1 E& u8 p6 \7 n11.n个结点的完全有向图含有边的数目()。
5 _6 V. _1 n# Y. QA.n*n7 ~0 x: X, C- p, g
B.n(n+1)
2 R! K: n) q( ?C.n/2
) g- y; E8 j# f5 c+ K4 s1 DD.n*(n-l)4 ^3 ^# y8 } U, e) L; `, y" u
正确资料来自谋学网(www.mouxue.com)4 J9 r x% M7 j J8 Q r6 m
0 @8 D$ C7 x. ^0 _. l2 O12.递归法是一总种编程策略,它需要有递归前进段、递归返回段和()。& R1 {% h! u0 |. O% O
A.判断条件* { I1 W( I3 \: `, V; E
B.初始条件, x$ Z/ `- w- d8 k- o% {
C.边界条件6 o7 j2 Y+ L l3 [) C: j/ G# J: B2 g
D.决策条件
4 X, n3 o M6 q正确资料. }, {9 O1 x& x! P' C% i+ u6 y
! ~& Q3 B7 H/ l% \) z6 s
13.对有序数组{5, 13, 19, 21, 37, 56, 64, 75, 88, 92, 100}进行二分查找,等概率的情况下查找成功的平均查找长度(平均比较次数)是()。; B. F( A( v q. }( R
A.35/11$ O; V3 u" Y3 f& D7 I7 l
B.34/11
2 D/ ]3 @0 ^5 E- O! B% a$ W' v( nC.33/11% l; ]1 P7 @( F! y- }0 M$ z
D.32/112 @3 ~ p! m+ u9 ~* ~/ f
正确资料
0 v8 T+ z) e; M: V# y9 T! [9 b6 ^) {( A( q7 _
14.与二进制数101.01011等值的十六进制数为( )。
6 [4 _6 ~. ]( Q& F* V9 R; zA.B' `1 _6 t) D5 t, \% ^$ n6 F
B.5.51
! u7 k7 P S' x5 r9 R5 R* H' mC.51
: I' `" i& H Z8 H! @" J( J+ mD.5.58
9 W! c* H1 E/ K# d R' u正确资料来自谋学网(www.mouxue.com)# J7 M4 z/ v- A Y H9 ~! r
3 q" l) a: D3 Z. n/ f& Y( Q
15.字符串比较的函数是()。$ D0 |5 |8 D# w+ j) T$ K7 d
A.strlen()3 q0 A3 t$ ]8 l& d% g7 h
B.strcpy()
7 O7 {, T9 u7 P& N* X+ hC.strcmp()- F0 W9 {% K% b( v0 `, q
D.strcat()
4 r9 a, O6 G& b( {正确资料% z- q# P, ~/ d, G7 R; G
! h; x. U4 ~2 T
16.在长度为n的有序线性表中进行二分查找,最坏情况下需要比较的次数是()。
3 J7 o8 G7 _& y8 `A.O(n)
R# E7 i2 G; G+ s/ h% q) }B.O(n2)' A7 k9 `( r- s9 ^4 h7 J; V" M, b( c
C.O(log2n)
+ a- j1 t7 b6 N; h: [D.O(nlog2n)
8 u. I6 h, T$ m, n7 h正确资料
3 w0 o+ `% G* l+ v1 R$ j! P4 H$ Y6 t8 w; Q) g' Q ~( ~
17.下列说法错误的是()
$ Z" w* i1 L2 q& Q) zA.使用高级计算机语言,如C、C++、Java,编写的程序,都需要经过编译器编译或解释,才能转化成机器能够识别并能执行的二进制代码。! A; f1 j: c( t3 @
B.如何一步步的跟踪代码,找到问题,搞明白为何程序不能正常运行,这个过程称为调试程序。+ h+ W3 c# M+ V1 R V! e
C.自动化的工具同样也能够帮助你跟踪程序,尤其当程序很复杂时效果更加明显,这种工具叫做调试器。
5 R* @. `) v: f% `" c3 ?9 ^0 ]D.调试器并能解决程序中出现的问题。
5 W- T( f/ O0 S$ K% J$ ?正确资料来自谋学网(www.mouxue.com)+ F# T, f/ R4 F
6 g& ]7 ?+ w* t( G. j( |2 T
18.字符数组在进行指定初值时,若未指定数组长度,则长度()初值个数。
$ L0 q# S4 ~$ HA.小于
8 E5 c! N' L0 P p5 N9 SB.等于% X: i$ T- y% y. U! Z( R# ^
C.大于
# P9 L; i' t/ Q# M; `+ ZD.不等于- u( a, x* n/ G2 O: I
正确资料:; k" g# D5 L8 _/ q
4 ?$ H9 a* J6 G& B. c
19.采用简单选择排序,比较次数与移动次数分别为()。
! Z6 Q* e4 _ \6 xA.O(n),O(logn)# p3 v7 c% U. g' \" u/ K
B.O(logn),0(n*n)3 Y& O0 y7 y3 L" |
C.0(n*n),0(n)
; L. W/ `' I/ Z* p+ w; ]6 H xD.0(nlogn),0(n)1 m& ~, \ b2 O: U0 `* k
正确资料
" @. p1 B' L$ v# x
! s7 p8 {$ `" @7 j( \+ K20.下列排序算法中,在每一趟都能选出一个元素放到其最终位置上,并且其时间性能受数据初始特性影响的是:()。
6 ~# k- h+ C) U {A.直接插入排序
4 X- R7 }9 m! w6 q; L; ~B.快速排序
/ l3 L9 i5 @/ B" J4 C9 V' cC.直接选择排序2 W. p! w1 y: @" ?: x( }) Y/ J4 t
D.堆排序
" ]- d! i, e3 _! c正确资料:
: t& ?/ q+ Q3 a: n+ f" i/ I$ V% F2 S" z) z) o
二、多选题 (共 4 道试题,共 16 分)
; K& z8 l: {' @7 X21.字符串有关的格式字符有( )。6 Z3 T! G$ S) n" N$ J: [6 b
A."%c"
9 J1 Y2 w+ d; U" ^* U6 F" AB."%d"5 h7 t& o- b& ~
C."%f"" ^5 ]2 D3 n* y2 C
D."%s"6 E5 P$ U! t# k2 z9 B( e& f O
正确正确资料来自谋学网(www.mouxue.com)
" v V* i0 g1 H/ K- a( O# R1 C& T3 ^0 k4 n' t
22.顺序结构、选择结构、循环结构三种结构共同特点是()8 B9 G' S5 r: K; J+ ]4 {
A.只有一个入口& w* L( q5 K; A+ L
B.只有一个出口$ w$ N$ R: K9 E. H2 H5 N% ^
C.结构内的每一部分都有机会被执行到(不存在死语句)
( k6 | }( a: s2 d( e6 c- qD.结构内不存在死循环(永远执行不完的循环)。
8 R$ J8 X i# \: y7 D% \( \正确正确正确资料D7 ]% \) ~& e/ S7 _
7 @8 m$ U' a6 W! e; y23.递归算法的执行过程分()和()两个阶段。
9 K3 P" ?1 b$ tA.递归
) h2 e$ j4 _ zB.递推
2 p1 t1 L# N+ L) TC.回归
( z5 r8 [, u, o" _& ?1 s+ C! M ^D.回溯5 d8 h8 l4 C4 o
正确正确资料
3 B' u' w7 U- D- ?2 ^' ?8 X% A: E( U, p
24.设计递归算法有两点最为关键()和()。# ^" X4 K' u( Z; |* d, f% E
A.确定递推公式
: i/ j7 H. E3 ]" @2 q. ~% {+ T& VB.确定边界(终了)条件(递归出口)8 G( Z2 g/ M* k( }/ ?
C.每次递归调用,都必须向基本条件前进
! q6 r. U) x: K! m- K! }5 i, } e' p1 }D.如果结果已知,那么,不用再重复调用递归! z. @0 N* L4 ?% }! V) _
正确正确资料:9 h- Z: _6 y7 ~9 `0 A/ V
5 Z# p' M4 B/ a7 P% N三、资料来源:谋学网(www.mouxue.com) (共 22 道试题,共 44 分)% H) Z) K1 K. ]9 h% P& F3 }- |
25.int a[10]; 说明整型数组a,有10个元素。
% } M. R9 c* o! R4 O; p- P. N资料:正确' d. ~7 [& A7 W* C* J
# w. Z" g: [# i- ]26.函数atoi("1234")的函数返回值是1234。. a4 _' A3 D I! _/ T
资料:正确: i$ ?0 X; m3 j9 V# W9 ^
+ K% W4 P" R. @1 v
27.递推分倒推法和顺推法两种形式。, n4 f8 B4 A2 I0 D3 D0 j
资料:正确2 f* {# C6 A, M& e$ \
, f: T' U4 H/ v4 R5 _9 ?" c3 d
28.字符数组要求其最后一个元素是'\0'。
# @, C' l( ?" p. s8 N: k+ r j/ e资料:错误
6 [- F6 L6 g9 z8 S' W9 A6 N* L
; R# B$ K4 l U29.在后序遍历二叉树的序列中,任何结点的子树上的所有结点,都是直接跟在该结点之后。
; Y# T# L" X6 Z" O资料:错误
# l8 ?) [5 b" F
1 b/ n. r/ G' K30.C语言允许对数组的大小作动态定义,即定义行中的数组长度能包括变量。
4 O- M7 F5 r6 ~资料:错误8 `1 o( C! v3 W* M
0 |( g! y$ V1 E; D9 k31.高精度计算时可以用数组来存储运算结果。
8 l( i& u1 z8 q ]( ^) r资料:正确
) K0 ]% @! }; x, Y0 f5 Z+ \5 W4 X3 ? o; ]4 R1 C" y
32.C程序执行的入口是main()函数,所以main函数必须放在程序的开头。
! t3 V8 P. |* g资料:错误
- r9 ?) H% @& b4 b- z# @& C' D
: P+ B2 c# Y7 ]3 N( |1 x" ]33.字符串的结束标记在输出时也会被输出。: l- U A7 y1 D
资料:错误: S6 ]+ S# A3 i! D
6 B1 \" @' B2 g2 Z, ?- ^ g34.某二叉树由5个度为2的结点以及3个度为1的结点,则该二叉树中共有15个结点。1 |0 L* \% L! O5 E
资料:错误
$ X' k+ d V+ R. e$ j1 Z2 u q, q( o) f
35.交换排序法是对序列中的元素进行一系列比较,当被比较的两个元素逆序时,进行交换,冒泡排序和快速排序是基于这类方法的两种排序方法,冒泡排序算法的最坏时间复杂性是O(n*n) ,而快速排序算法的最坏时间复杂性是O(nlog2n);所以快速排序比冒泡排序效率更高。# e8 Q$ E6 C# o9 `3 q3 {2 Z
资料:错误
5 H: Z2 f1 i& _/ L: b# I3 G3 K7 N' M
, r% A; X2 X# j4 V) ]! U" c36.下列程序段实现的是顺序查找功能() int Search(int array[], int n, int key) { int i; array[n] = key; for(i=0;key!=array[i];i++); return(i<n?i:-1); }
' }9 H7 o* E. A9 j资料:正确
& ~% D. A. G- G* {; w7 p- z# U, Z( p+ }4 n) n+ y7 f
37.注释内容太多会影响程序的执行效率。
: d+ n8 u$ L6 R% e资料:错误
" @6 `8 {# t0 f5 N* v
" \6 f% V* y8 |0 ?38.C语言中,数组名代表该数组的起始地址。3 F# i- E; ?( Y0 N. d
资料:正确
. `& Z! O% V) O" E: q# I. W' r2 C9 F K( z. l- F4 g; M; y1 r
39.查找就是根据给定的某个值,在查找表中确定一个其关键字等于给定值的记录或数据元素。0 e' X3 }4 X& }. N- Y
资料:正确
* ~* B' Q8 d M2 Y* V. X; |% P( ?- A5 c0 c: n0 S) I
40.确定性是指算法的每一个步骤必须要确切地定义。' |1 v' V9 p( N$ v' O( u
资料:正确4 w7 T% N7 {# V$ U/ M
9 X3 Z* e) X1 {) X/ W
41.遗传算法是计算数学中用于解决最优化的搜索算法,是进化算法的一种。
; r8 o: ]4 N% t资料:正确+ s% }( L; i: t1 ~6 L/ x5 x& W. _
' ?7 ?2 ?2 h9 V& o2 o% q8 I. m42.有n个数存放在一维数组A[1..n]中,在进行顺序查找时,这n个数的排列有序或无序其平均查找长度不同。
[; m8 A0 E; D& t# D资料:错误
3 k |) ?, v# S6 m- x
J6 P4 d& Q6 w: c( L" V# I5 H7 o43.关键字是数据元素(或记录)中某个数据项的值,可以标识一个记录,称为主关键字。: z& P) }6 V5 y( b8 a1 l5 U
资料:错误: N# Q( Y: J: [; q% m/ f7 [
! k& R% d5 Z; x, ?- B' f
44.在任何情况下,顺序表中进行结点的插入操作时都不需要移动结点。
) d; c6 S( O& L1 U0 h资料:错误; P2 T9 z4 K3 r1 ~0 S/ o" G
( V3 ~. l& i+ f
45.C语言中,字符串作为字符数组来处理。
+ z" l* U& A* \2 o8 d) c7 {$ {资料:正确
; o U2 ?. Z! y4 w y
% T4 \: w& }% g0 e* j& b46.对于任意一棵二叉树,如果度为0的结点个数为n0,度为2的结点个数为n2,则n0=n2+1。
% s& v0 W$ q% \1 u4 t资料:正确% A, }6 d; v: `0 A' j) K; s
7 n" [0 w) I$ v
% D5 G- {+ _% M6 A+ g1 W6 d) i/ v5 |, J" K. l* L
6 B8 e8 V: V* {! k
7 t5 Q% Y( a# q8 s0 _/ U
: v6 v4 C. c* V3 q) { F" {
. U, j$ X6 G2 V' C7 c5 K" P
9 Z: d1 b! E- I, b4 C
4 t7 y) ^ P. @. h! l. S; d- X: D. Z/ i
; `$ g; \" w6 }5 O1 z
4 z& j7 h7 W5 T! ^; x2 |, v7 p9 p; ^: E. T! `1 Z& U8 g
|
|