|
算法分析与设计19春在线作业1-0004
% M8 u- [0 [1 }% q) _8 O试卷总分:100 得分:100
9 o( L$ h' Y" V7 n6 ~) z& M' u( m一、单选题 (共 20 道试题,共 40 分)' N, r& v1 z. X) p8 k
1.字符串"China Beijing"的长度是()
' g4 P' y: E- J6 A2 X" hA.127 `: A: B: m$ K) q6 `! u/ z @8 @3 w
B.13
; n; O$ v }2 G/ t7 m7 [- ~$ x+ ZC.140 \% V1 N9 z" S" g i; B
D.15
1 G! i" K7 ?- ] o8 m正确资料:
% B# d1 A# k& ^, @- }, o* M7 U, Z" h9 \6 y
2.一棵二叉树中共有70个叶子结点与80个度为1的结点,则该二叉树的总结点数为( )。
& ` x" s; f& M( o8 jA.219+ r, z0 @2 f" C' q
B.2214 N$ s( g$ q2 s, Y6 H ?+ N
C.229
' {# @9 I: `& g D: ^D.231# F9 D3 f* t4 v& \$ ]- E! {; R
正确资料:* e y E. b2 u1 k B
4 l' d @+ B: U6 Z9 {
3.栈和队列的共同点是( )
4 _9 n* N% ? T: RA.都是先进先出" ^8 Y1 i/ _! ~3 G
B.都是先进后出
" X! @( H' k! B0 oC.只允许在端点处插入和删除元素3 l) ]8 O1 a# _5 U/ B2 n
D.没有共同点% n1 y5 m; s1 A
正确资料
# v3 V0 S) N% c. a/ U6 f6 i' v: a( s. H1 o/ [
4.使用简单选择排序法对n个数进行排序要进行()趟比较。
$ G4 q6 D& j5 [5 D6 VA.n5 r$ m* F. ]8 T" b
B.n-1
6 V5 e* w7 Y) o0 S# }C.n+1
2 W/ w9 S/ i1 Q" t+ mD.不一定" M1 z5 K& J& u: \5 X
正确资料:( k* l% c9 F& Z {
8 d) x1 r2 ]6 Y2 F3 T0 W9 J! S
5.下面给出的四种排序方法中,排序过程中的比较次数与排序方法无关的是()。
b4 ]% r: O% m; F! @A.选择排序法7 ^' a5 I: q5 P. D1 i4 h
B.插入排序法* e, z8 G' T X, E% O; j
C.快速排序法/ G; G9 _% H( n |, Z: B; U
D.堆积排序法( ?6 L6 g _2 ?/ V. U7 w4 w
正确资料:' H% J& M2 ^" A3 Y4 b
+ g" |. f/ B. ?3 I U6.图中有关路径的定义是()。3 | A8 J! q0 }) u7 @ n: J+ W
A.由顶点和相邻顶点序偶构成的边所形成的序列8 \1 V# O. w& ^$ H q- ]- G
B.由不同顶点所形成的序列
0 l3 i4 }3 ?; G2 g) UC.由不同边所形成的序列
* ]4 q2 ?1 S9 m# LD.上述定义都不是
- Y8 Y& ~, P" H( f" h正确资料:
# z( N& H, V% [ }/ N5 j8 r$ S, Z" d
7.执行memset(s,'a',4)后,s的值为()。
1 P6 Z& ^; n" I# v9 ]A."aaaa"
; `( t) f b7 ]6 JB."a4"
* j- j0 @: F7 l% aC."4a". O# ~" ~, u2 n" l0 v' I
D."eeee"7 F5 W1 U. h) R6 P0 C
正确资料:3 z3 @- M7 d9 I+ v9 y" q. Z' E
7 t: n/ A3 {4 R r9 m8 x
8.一个算法的评价主要从空间复杂度和()来考虑。
' }4 N( j/ _& l) x) U! f8 AA.时间复杂度; ^, r+ {/ F. v# h% V& g$ K
B.算法有效性
; Q d# F- l, s" ^8 D" ~" R4 ~7 VC.算法有穷性
- u0 I0 @. K, [4 rD.算法可读性
7 ^. H3 `, S# }* `$ @# T正确资料:
4 {" Q6 H8 _' U
( v+ P4 l: }$ s U' T9.下面的时间复杂度按数量级递增的顺序排列,正确的是注释从功能上可以分为()。
6 Z9 j1 q& H* w. J, IA.平方阶O(n2),对数阶O(log2n),指数阶O(2n)
# \8 c& A+ s# ?: R! oB.线性对数阶O(nlog2n),指数阶O(2n),立方阶O(n3)
: J8 z8 N% I% z g+ ~C.常数阶O(1),线性阶O(n),指数阶O(2n)
2 l# B, @( l) U u( G9 lD.k次方阶O(nk),指数阶O(2n),对数阶O(log2n)
# m% A, o+ o% P6 S' e2 R" y正确资料5 a0 _+ I/ K9 M; M V4 w: V
5 q% Z( G! P3 ?% g8 j: Q& @7 h% O10.()嵌在源程序体中,用于描述其后的语句或程序段做什么工作,也就是解释下面要做什么,或是执行了下面的语句会怎么样。而不要解释下面怎么做,因为程序本身就是怎么做。 ~7 [2 S R! J, d& R+ S
A.文件注释
3 L3 i6 o; a8 ?$ w! @& rB.函数注释
( z5 a `7 x- T, kC.功能注释
* T' a. F+ ~% \: J. z$ ~1 RD.程序注释. |3 |7 t9 O" Z4 ^; C
正确资料$ ~. ^& w0 V% W% s/ e# j# Z
. \8 E( ?2 J! _' b5 L0 u, q3 ?11.n个结点的完全有向图含有边的数目()。
1 B( B/ ~+ |- n |, {7 |& c1 ^& RA.n*n! \' G( ]1 V/ L' w5 t
B.n(n+1)) {# f5 I7 R1 b: X# Q- @
C.n/2
3 ^' G( a! B9 ~* Q$ @- ~* rD.n*(n-l)
( n# ]6 @+ T* ~. W0 T0 w5 N正确资料来自谋学网(www.mouxue.com)
5 i K. p3 z. r! _* a! T+ k1 |" D6 B. _8 x% j- n
12.递归法是一总种编程策略,它需要有递归前进段、递归返回段和()。/ K, k2 A! I+ Z' e" B* K# a7 i1 p& u
A.判断条件
Z4 z" h8 @0 {) |% VB.初始条件3 a m7 d- {! r, V3 q
C.边界条件7 I% Y4 B: U0 n
D.决策条件
: t! ~- \% ?. D$ k正确资料
3 Q2 I* x( c: ^! v1 p2 g( q! a/ W/ M4 k g' s. X1 i
13.对有序数组{5, 13, 19, 21, 37, 56, 64, 75, 88, 92, 100}进行二分查找,等概率的情况下查找成功的平均查找长度(平均比较次数)是()。
/ |* \2 h$ F- L* x- ]A.35/11
, T7 a0 g0 D: b! V$ ~$ sB.34/11
7 ?0 \. j4 C: eC.33/11! P8 l0 X9 m" b3 S
D.32/11
, U0 A, Q4 g! z正确资料
+ C6 v* `7 ?$ D1 w
9 w% o+ I8 [( g- q0 r14.与二进制数101.01011等值的十六进制数为( )。* L- O1 y6 `: {& |' k" G) Q6 y3 `
A.B
/ r" v- i7 F1 a7 [1 Y# f* N, XB.5.51
) v# ]5 K8 [* |' mC.51
# P' q0 O: d( d/ _D.5.58
6 @" m. @: J/ V, X4 Q/ z正确资料来自谋学网(www.mouxue.com)
9 i7 y, B: _+ W3 |6 c9 E4 b. t/ j* b$ h7 ^3 p
15.字符串比较的函数是()。 e1 @, N- i3 f2 S3 P& ]1 `
A.strlen()
. A- J: v* A7 S% \& _2 F7 U+ [B.strcpy()
& r! x+ Z+ n" _+ t( T6 lC.strcmp()
) y5 c! @* L; J# ~D.strcat()9 v8 k; l1 J- V0 O
正确资料+ `7 D+ D4 c6 n4 L1 i( s
5 m1 d4 Q, G9 V& ?8 F
16.在长度为n的有序线性表中进行二分查找,最坏情况下需要比较的次数是()。
! w2 B. K& {+ U" H' eA.O(n)& z9 P6 ]$ [: ~: ~
B.O(n2): r' M- J' G- y5 d
C.O(log2n)
' v% w7 U$ i% M) m* qD.O(nlog2n)
) W: |: }1 ?7 e9 p4 m- L% W/ L正确资料
# p8 Q% y$ {7 Z, O: T6 b) A
' q1 a$ l5 E6 N8 U1 H5 J17.下列说法错误的是()
' W, u' a4 v: s9 D6 ~5 F) JA.使用高级计算机语言,如C、C++、Java,编写的程序,都需要经过编译器编译或解释,才能转化成机器能够识别并能执行的二进制代码。+ n5 T8 a: a9 m: [- B$ D) A
B.如何一步步的跟踪代码,找到问题,搞明白为何程序不能正常运行,这个过程称为调试程序。
: n) f5 n" q b% v7 rC.自动化的工具同样也能够帮助你跟踪程序,尤其当程序很复杂时效果更加明显,这种工具叫做调试器。6 ~" n% q/ }. B2 ]* M- q4 P
D.调试器并能解决程序中出现的问题。
4 @8 `4 h) T( ]* K& G4 B; F% n; }正确资料来自谋学网(www.mouxue.com)! {3 P& T$ ~: q, }
" ~* x! q* G4 a3 J/ t) y: v$ U U3 z
18.字符数组在进行指定初值时,若未指定数组长度,则长度()初值个数。+ ?: G6 h6 g9 }. f& T) }
A.小于
/ \# y1 C% }% G4 u# v! eB.等于# w7 i7 g- L4 l$ w M4 o% Q1 U
C.大于
& I2 y% C6 |2 yD.不等于
+ ^5 N( K, }+ s# ]正确资料:
. P3 ?/ p" n; t; ~4 p( i/ E, |- q7 F/ ^0 ]# X1 H/ Z
19.采用简单选择排序,比较次数与移动次数分别为()。- S9 Y7 }# ]3 }$ ^
A.O(n),O(logn)- N' N7 f5 N2 N
B.O(logn),0(n*n)8 P/ ^! n0 v) c9 H, y3 k: e
C.0(n*n),0(n)" S1 c6 ~6 p9 x$ |0 \8 t" U
D.0(nlogn),0(n)4 I+ B5 G8 |- l; Y* T
正确资料
0 }( }, ^5 Y1 U3 g3 G* M& N% R
* F+ `/ [, Q. Q% ^20.下列排序算法中,在每一趟都能选出一个元素放到其最终位置上,并且其时间性能受数据初始特性影响的是:()。/ p% _8 Y/ F- r% b" ?' }+ m5 s: h
A.直接插入排序) G9 U* F, n) G/ [% L; e
B.快速排序& x( y0 e6 x6 t
C.直接选择排序0 B- M- p. K0 B
D.堆排序+ P' n5 e: K7 O& [; p0 t
正确资料:
! N M0 l+ j9 L- ^* J5 E; u( r/ m: Q' i
二、多选题 (共 4 道试题,共 16 分)
7 [/ ]( Y9 ?( ~, _) Q* L21.字符串有关的格式字符有( )。2 t3 K0 T; {+ U/ C% k; K; x
A."%c"* G Q: s$ i% N, ^4 _ o
B."%d"
; |+ v7 j! h3 r# aC."%f"
. Y' k8 V; i; W6 Q8 U2 xD."%s"; y5 e- ~5 i( I1 T* I; E4 e! j
正确正确资料来自谋学网(www.mouxue.com)
6 P3 }+ A9 ]0 E2 |( l3 {4 r# C! Z" v7 F
22.顺序结构、选择结构、循环结构三种结构共同特点是()
8 F: O7 x2 D( _4 |0 }% j- B' GA.只有一个入口
4 Y; z* C5 E$ ?( H* l- E& x! S/ v! gB.只有一个出口4 q' X" j! n" F; p8 c, \
C.结构内的每一部分都有机会被执行到(不存在死语句)
4 F- b' ` C+ i, |0 J) D! g R, V8 vD.结构内不存在死循环(永远执行不完的循环)。
" u; C1 l8 p$ ^& L( X正确正确正确资料D [% P( w. Q# ~6 [% \7 o
% U+ B0 N: U% K r' m
23.递归算法的执行过程分()和()两个阶段。
: {; e, @+ A/ h. F# {% c* nA.递归( h5 ~3 X. e% J/ J! h; J6 s4 T
B.递推2 I+ l8 K4 y/ x. G( s0 \
C.回归
4 ?' D6 o- D3 X# J( iD.回溯: X8 C" x. b$ L- k& v
正确正确资料4 A, S/ R2 ~/ B/ j, ^4 b% B h4 `
. u: d9 e2 l/ P! \24.设计递归算法有两点最为关键()和()。# ^) f) |* A. }
A.确定递推公式 ^# J, W) t6 @6 P
B.确定边界(终了)条件(递归出口)
, t0 B, k6 k. @8 V8 ?. W- HC.每次递归调用,都必须向基本条件前进5 `* J3 u: ~: i0 V
D.如果结果已知,那么,不用再重复调用递归* i" |& N/ l' c+ q
正确正确资料:
+ a! H* e# j! o) n' b6 O9 [) F" I8 r4 p, ]
三、资料来源:谋学网(www.mouxue.com) (共 22 道试题,共 44 分)
) J8 B9 c) X4 C! ^5 M25.int a[10]; 说明整型数组a,有10个元素。6 y r! S$ D) t& X- U
资料:正确 }0 f* [& N, v8 c9 O; C% Y
1 x# z# [+ G3 \% Z( p8 a" n
26.函数atoi("1234")的函数返回值是1234。
3 m Y5 E5 d; L4 U资料:正确
% C# w3 v& ? K7 G7 L/ y0 P+ y# @' z( E% b. P4 P4 f- N8 p7 M
27.递推分倒推法和顺推法两种形式。: l; \3 Y" z; `4 ]" I$ k
资料:正确
( l7 U, ~& ?2 C2 {
( v" Z" h8 S" M& W/ } ^28.字符数组要求其最后一个元素是'\0'。
9 ?6 K% k. p: q2 Z, ^- u1 U资料:错误
6 `% ~) ]0 h$ D: ^2 ]# h9 w! i6 z
8 z) |8 C& }7 d% V& o+ j/ h29.在后序遍历二叉树的序列中,任何结点的子树上的所有结点,都是直接跟在该结点之后。! d2 ]/ p, h+ |) @' w; N
资料:错误
; N, f! C! \4 p1 W: q; q2 Q8 p% x' O( [' \7 j; q* f& k2 D e& W
30.C语言允许对数组的大小作动态定义,即定义行中的数组长度能包括变量。
9 b3 H C* }, L4 I `资料:错误
( K3 \# Q" v2 J% T9 s/ N: S9 L Y& e% d
31.高精度计算时可以用数组来存储运算结果。
0 v) V& G3 J; L9 \资料:正确
2 l" D4 H5 q/ T8 F$ b+ s$ P
( R& @- ^4 O) B3 ?+ X32.C程序执行的入口是main()函数,所以main函数必须放在程序的开头。
' m% v& W+ R4 T7 ~' q7 O资料:错误" A5 }9 u5 E. T6 I+ |. H% i* X4 \
8 ^+ G/ M" j4 o, t/ p0 I
33.字符串的结束标记在输出时也会被输出。
" U R- B- b2 @& A, Y9 O+ W" w资料:错误& g3 x- P4 Q( c0 G4 [
" S9 d U0 t1 p4 P5 z: L% h34.某二叉树由5个度为2的结点以及3个度为1的结点,则该二叉树中共有15个结点。7 p3 D* j; n: d# Y D. I( C: p
资料:错误9 _# P6 e- k% K2 T/ S9 J
" y' c. Y7 ^ U; N& b
35.交换排序法是对序列中的元素进行一系列比较,当被比较的两个元素逆序时,进行交换,冒泡排序和快速排序是基于这类方法的两种排序方法,冒泡排序算法的最坏时间复杂性是O(n*n) ,而快速排序算法的最坏时间复杂性是O(nlog2n);所以快速排序比冒泡排序效率更高。
8 k+ _, ]2 Q7 D& Y( l4 S }2 Q资料:错误
$ z+ r: z8 F7 K5 x3 z- ]- o) ?! N2 x$ f+ e. ~. p& F- y
36.下列程序段实现的是顺序查找功能() 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); }
' s3 Z& n2 \7 H( ]4 [* l# P资料:正确1 E0 b9 b% A& Q) @( N. I. C, d
; E( x& V: _) T! [% Q% W S
37.注释内容太多会影响程序的执行效率。) F: \! V0 P' }* L* X. w
资料:错误
! q. P& t }, j. O3 J9 w8 }+ B7 D' Y/ b2 q2 N( Z$ `9 X. X1 q& }
38.C语言中,数组名代表该数组的起始地址。
; T0 D: ~9 b- X资料:正确
) x. u, j) m1 U" Y5 F/ W
$ l6 `+ o: V) o3 C' i8 m; o- q39.查找就是根据给定的某个值,在查找表中确定一个其关键字等于给定值的记录或数据元素。6 E( H6 }4 u/ g
资料:正确
4 q! a2 H! g8 I5 ~' i9 d9 Y6 {6 r% U7 o/ y2 L- h9 Y' z, s9 f! S) p1 Q
40.确定性是指算法的每一个步骤必须要确切地定义。
( X5 j* v% U; h- O: ^0 F资料:正确/ m% |1 H9 G. p
0 d3 a3 h1 o( Q$ h! [, E
41.遗传算法是计算数学中用于解决最优化的搜索算法,是进化算法的一种。% W; y. @6 G; v- T \
资料:正确
$ P' }$ N& F3 F$ U5 y
% g* t$ ~1 |$ u2 a4 S9 Y42.有n个数存放在一维数组A[1..n]中,在进行顺序查找时,这n个数的排列有序或无序其平均查找长度不同。
& j% T" N: V: A资料:错误$ R, Q/ |/ P/ y& m! x0 O- {
0 ?8 v! C. w& a- x2 D/ C& L/ A
43.关键字是数据元素(或记录)中某个数据项的值,可以标识一个记录,称为主关键字。
$ M3 ?6 B. q Q- i* B资料:错误/ Q0 B2 v- B/ d& e
$ {& ?% Z2 l$ f6 r% F) j$ v
44.在任何情况下,顺序表中进行结点的插入操作时都不需要移动结点。- h4 ]% Q& S2 S
资料:错误! b0 y' I5 `# j- ~9 c9 G* S
) c' c3 Z5 ] d' C45.C语言中,字符串作为字符数组来处理。: H, H' s5 C- ]4 l! J0 k. ^
资料:正确7 r) E: h/ N# P k1 z: H
7 X! ?1 k3 I" b8 C% N& \3 A
46.对于任意一棵二叉树,如果度为0的结点个数为n0,度为2的结点个数为n2,则n0=n2+1。
1 ]! O& M- _9 d; ^8 U7 }资料:正确& X( R; B- E! I
/ ]8 A# f* B& ^/ Z2 i( T7 \6 S
" n3 T: K7 p# _ n* y4 r; _! Y; p+ u9 `
. k+ j% U2 x( I/ ]& ]. o
2 R% V) z1 I8 d# Y! e* B# b# \6 u, B/ K; w& z
^8 j. R+ c$ k$ u+ G- ]
! B4 {1 w$ h x* K
+ G1 H9 r, O, }/ G5 ~# B2 R1 S8 m) ^
# I% T0 W1 j0 ^. g& P, M9 y" H7 T8 ^& p
9 h O0 M. t. r% A" A$ C5 G W
|
|