|
福建师范大学2 x$ k u* R* A# C1 g3 O
福师10秋学期《数据结构概论》在线作业一
* m- _# `' Q3 U5 F4 \单选题4 ]; D9 {. i6 _3 Z# m# x* c% q
1.线性表( a1,a2,…,an)以链接方式存储时,访问第i位置元素的时间复杂性为( )% H' J; [/ i n6 Q+ O+ p; G/ f3 V2 d7 f* u
A. O(i)
( v* u6 A1 l/ J9 J" `- pB. O(1)
\) P/ c8 B: f: [2 BC. O(n)& `6 x+ \3 i- @* ]9 R/ Z
D. O(i-1) f/ E: `! B% `4 @3 F4 h
资料:C" }$ l7 r; z3 T5 Q a& Y, d
2.若串S=’software’,其子串的数目是( )3 ]6 N6 I1 ^9 U+ U. s, T
A. 8% S; a' m1 d% i! { K
B. 37) y0 L+ U0 o2 Y* |/ E u; X- Z
C. 368 K, z; b4 ]& V% p& k4 W- B
D. 95 M2 ]) @/ Q8 K) Q, @% a$ r
资料:B: e: x) _/ \& \& v; n
3.从逻辑上可以把数据结构分为( )两大类4 G& L6 v9 F( C
A. 动态结构、静态结构% ~- q& w3 B+ V: B
B. 顺序结构、链式结构2 j3 i5 F% \% s' j5 d* p7 j
C. 线性结构、非线性结构* |6 w j+ ~4 s {$ B5 a+ r
D. 初等结构、构造型结构$ Z7 W8 z ~5 b$ H1 C* e! W# e
资料:B: \6 U' z% R4 S. B: m4 o
4.若长度为n的线性表采用顺序存储结构,在其第i个位置插入一个新元素的算法的时间复杂度( )(1<=i<=n+1)。; g `* a8 S @( x$ ?
A. O(0)9 L7 i! l4 ?& J+ v0 E6 I
B. O(1)
7 l2 w8 R; @; H: @- P! d: v6 M1 Z# ?C. O(n)2 X3 e0 Q% x3 A1 K& F* G/ g
D. O(n2): j: ?3 h4 _' E+ i2 I
资料:C" {! H( U; z; K7 x" ?
5.一个栈的输入序列为123…n,若输出序列的第一个元素是n,输出第i(1<=i<=n)个元素是( )。( `0 T1 l( o! ^7 m1 B
A. 不确定: i) F3 [. q" O7 \
B. n-i+1
; C2 {/ W* O/ I, I: h/ J% xC. i( i) A7 o9 A- @3 H' U
D. n-i5 g4 c0 A- e" j/ N
资料:B5 Q6 j8 d' _ @4 p, Y* n, y
6.算法的时间复杂度是由( )决定的。
: Z8 R0 b7 B, A: B- P1 r4 C( S3 ?A. 问题的规模8 j: `$ J7 G+ |
B. 待处理数据的初态3 m* {' C* E6 J9 O; c
C. A和B
2 o/ q( c) p2 t7 k# {/ uD. 变量个数
f- Q, M1 E3 @% z" l7.下面有关算法说法错误的是( )
6 H) _$ ^* {5 l8 fA. 算法最终必须由计算机程序实现
6 S5 K3 L- U4 }B. 为解决某问题的算法同为该问题编写的程序含义是相同的
" o4 U/ x- a9 JC. 算法的可行性是指指令不能有二义性
9 Q0 Z3 ]% Z, x a# m0 A, yD. 以上几个都是错误的5 E2 ]+ S) f" F* m
8.对于一个头指针为head的带头结点的单链表,判定该表为空表的条件是( )5 S5 c8 X. Q+ H& a
A. head==NULL
9 U2 b# [, X8 p- t5 V: VB. head→next==NULL
7 P, f6 F: T( ?- \+ xC. head→next==head# i& n# |+ w7 T1 }! m; X& k
D. head!=NULL5 V* F1 z; s9 I- K! u2 V
9.链表不具有的特点是( )
& P- Z# W ?* w5 A5 X& T/ FA. 插入、删除不需要移动元素% ]" G3 K% v9 I$ g1 F" R% Z5 i
B. 可随机访问任一元素9 V0 Y J x" N% c) v1 O. F V/ z
C. 不必事先估计存储空间( d3 z) T* I6 V! X$ B# v! _
D. 所需空间与线性长度成正比% j. i, _5 X5 F
10.在一棵二叉树上第5层的结点数最多是( )1 v- @4 X9 x) e2 Z; u- @1 m6 J
A. 8
8 i0 p7 }: @- P- J. D, OB. 16
/ m; n4 d! _1 @6 IC. 32
7 i1 U6 Y6 v3 ~9 T! o0 o' l' uD. 15' r; c* L- V$ M2 m
11.最大容量为n的循环队列,队尾指针是rear,队头是front,则队空的条件是( )4 U9 I9 i5 K5 c t) m4 |: y$ s0 f& h
A. (rear+1) MOD n=front% A# N0 E5 _9 Y5 X
B. rear=front/ @; x6 c( c, R2 O5 z& r
C. rear+1=front
. L5 G- Z6 [4 I5 O+ VD. (rear-l) MOD n=front8 _6 ` k8 N" r h- m& c
12.栈和队都是( )
( |- z/ ?1 Z8 \* ` s1 DA. 顺序存储的
2 a9 w! r+ P0 B1 ^B. 线性结构$ o1 k+ |5 \, F# {
C. 链式存储的
1 P: s- ~, {4 MD. 非线性结构
2 K0 I. w4 Q# U _; }. y9 T e# z* l13.输入序列为ABC,可以变为CBA时,经过的栈操作为( )5 x% w5 E* V7 |( E- y3 Y+ ]& H0 |
A. push,pop,push,pop,push,pop0 G% ^) Z4 |, q' q9 S
B. push,push,push,pop,pop,pop3 W4 e) V* l' ^4 N
C. push,push,pop,pop,push,pop# D1 {: m3 e! e: D$ @
D. push,pop,push,push,pop,pop2 D6 {" ?+ q5 a+ N
14.算法的计算量的大小称为计算的( )
& Q+ z& q. h6 ^6 BA. 效率, C2 u& x8 ?$ r! g. S
B. 复杂性/ L/ e4 S0 g2 S0 o5 }
C. 现实性
1 m7 a, _ M' C8 ]4 \D. 难度
$ P$ E! N& B( W7 N% F6 M% f: P1 _15.在单链表指针为p的结点之后插入指针为s的结点,正确的操作是( )
1 a; y, \% K+ y7 J ^9 Y8 H. B! SA. p->next=s;s->next=p->next;7 |. V6 H& G$ B, `* ?
B. s->next=p->next;p->next=s;. {" T3 o4 r- H6 R( c
C. p->next=s;p->next=s->next;
/ c3 S8 T$ P! yD. p->next=s->next;p->next=s;
) R8 ^( ~& L. ]' x, _1 t16.连续存储设计时,存储单元的地址( )
% M0 H a7 w, A8 r1 A$ U9 Z) P: A( ?A. 一定连续
( I6 }9 r0 w8 Z0 y+ |9 e4 XB. 一定不连续) f- o* I" E3 M# w% s
C. 不一定连续( e1 t1 t3 i; K# b
D. 部分连续,部分不连续
! `0 h7 c6 ^' X- r# y: t17.下面叙述正确的是( )
$ q: Q$ m0 j" |A. 算法的执行效率与数据的存储结构无关' H- H7 C* q/ A" c* m B1 D
B. 算法的空间复杂度是指算法程序中指令(或语句)的条数
! @5 y, x* o( GC. 算法的有穷性是指算法必须能在执行有限个步骤之后终止6 `/ M+ m; Z9 U7 K \1 f3 `+ e
D. 以上三种描述都不对
4 t6 }/ \, S7 E3 P9 d R18.设计一个判别表达式中左,右括号是否配对出现的算法,采用( )数据结构最佳。
2 l: J' p; ^2 mA. 线性表的顺序存储结构. A2 s6 @: i! O n' ?" I
B. 队列# J/ n# k9 L9 ?- n
C. 线性表的链式存储结构
: U/ |5 N6 j2 f8 o2 Y5 ?1 MD. 栈! q4 U, g) ]& L2 \& N2 |( l* C
19.一个算法应该是( )- I$ M4 F" V& m8 x7 q X- N) \
A. 程序! J( ~# j. h8 ^3 J/ x" |4 c
B. 问题求解步骤的描述, V) u8 \1 f$ O' o, ]
C. 要满足五个基本特性
6 b* u) v5 e8 p& MD. A和C. D* z" i3 o6 _
20.栈在( )中应用。
" z: B, n- s8 ^4 b9 V( dA. 递归调用
8 h# y6 W4 z- p7 MB. 子程序调用
: a1 z) H1 m) gC. 表达式求值$ \' I) Q9 p! s+ N5 f" Q* Q$ L
D. A,B,C K8 C' {- J0 ]+ y8 c7 k2 @4 Y
21.对于栈操作数据的原则是( )
% b- u. w, n$ b1 JA. 先进先出
0 q% F1 j5 ]) P6 h% J8 v, jB. 后进先出
7 @7 w* U6 X, v- l7 f7 |4 xC. 后进后出
" }) r* ?4 u$ F) hD. 不分顺序, ~1 X: Y, d9 |" E
22.设有两个串p和q,其中q是p的子串,求q在p中首次出现的位置的算法称为( )! j# f! f. L- L, p
A. 求子串 z6 h0 p; h M# L( C/ X/ ]: |
B. 联接
& ^# a- p6 [; g7 T2 EC. 匹配6 o! W5 K# P1 o
D. 求串长/ k# n- i: d, _* J w, W! _
23.一个递归算法必须包括( )。9 o- W# [( Q( b- _; i
A. 递归部分
1 t' \. r1 q# HB. 终止条件和递归部分: ] b" E3 L$ P! Z( y
C. 迭代部分8 D" \! M, ~8 D* L
D. 终止条件和迭代部分3 ?7 j8 a: ]( o9 v: r% r: N; N
24.对于顺序存储的线性表,访问结点和增加、删除结点的时间复杂度为( )
. \2 q) S( Q. a0 _7 G, \; G( jA. O(n) O(n)
2 D) T2 F% ^& a+ o3 d% w7 DB. O(n) O(1)
# a& |, W a& x+ M3 a( l0 z( NC. O(1) O(n)- |) M" | A7 b' `
D. O(1) O(1)
" S1 C) D! E) ^9 S- N25.已知串S=‘aaab’,其Next数组值为( )
4 p) C* ~ [+ C. i" W6 zA. 0123% s$ b0 @8 h0 a+ ?' F5 h% W0 c
B. 1123, h9 j' G d* Z, j" i: H1 A+ M# M+ Q. A
C. 1231
$ u: i, n1 W/ O' ?D. 12111 e) K' ~/ S; I+ [# K! I
多选题8 f) _+ y K* ^" |9 b
1.以下数据结构中属于线性数据结构的有哪些( )9 N% y3 H& {) p% A7 `0 _' d
A. 队列5 ^3 t1 O# C. Q/ I6 l6 D; E" b
B. 线性表( z+ G, V, T. c7 ^" h
C. 二叉树
) K% U( c: W& U1 K$ _% A7 Y! SD. 栈
9 f8 t5 V! b, \( ]2.以下数据结构中( )不是线性结构
+ a8 X! h! L; g: R/ e2 GA. 广义表
5 k9 Z0 ^" }" O5 KB. 二叉树
9 Q( r( t, }' U8 ?8 lC. 稀疏矩阵/ l* W: f! F% D3 M" ]5 H2 ^
D. 串' U: q! ]1 W4 `5 W2 v- m: `
3.下面关于串的的叙述中,正确的是( )
, J/ x2 f3 m* O& \* P2 [" eA. 串是字符的有限序列 y9 V% n2 \5 @5 M
B. 空串是由空格构成的串% @: k1 c6 A! l# K
C. 模式匹配是串的一种重要运算
( g2 L9 m& x* q" ]: d1 z7 hD. 串既可以采用顺序存储,也可以采用链式存储
- |8 I- j- Q8 k4 N/ S4.某堆栈的输入序列为a, b,c ,d,下面的四个序列中,可能是它的输出序列的是( )
- t }) r0 P$ N8 k% K- m+ u) P$ U0 HA. a,c,b,d* l q0 e7 \ x5 _" p: b! F5 R
B. b, c,d,a
F, R8 e' z& N6 U% d4 z t2 }C. c, d,b, a& v% Z4 J8 z8 `
D. d, c,a,b# y/ y( L0 b* ^. P7 a
5.下面关于线性表的叙述中,正确的是( )$ {. O. k. \% U2 N! g) ]* n
A. 线性表采用顺序存储,必须占用一片连续的存储单元。0 {$ ~: B! O- D7 x
B. 线性表采用顺序存储,便于进行插入和删除操作。
2 Y' u& K' C1 P. c! d, H6 N0 z- ^C. 线性表采用链接存储,不必占用一片连续的存储单元。
p1 N6 y( r8 y! r/ `0 K7 OD. 线性表采用链接存储,便于插入和删除操作。
+ \9 |/ {) P6 I判断题
7 J, y1 i& C) N" k: q6 z) z" o1.通常使用队列来处理函数或过程的调用( )
& i& {) m! J2 y1 B: C$ l% M3 LA. 错误) p; {" h4 J9 {0 ~
B. 正确7 V5 Y1 T# z5 M q! S5 B
2.算法的优劣与算法描述语言无关,但与所用计算机有关( )
# ^/ s( t, M) Y1 d4 f3 p$ B+ uA. 错误
" Y5 _8 p, F/ ?. ZB. 正确
$ i/ A) T3 J; d! p% q2 H3.栈与队列是一种特殊操作的线性表( )
4 s5 ~+ t2 A# j/ b" n- a2 Z0 yA. 错误9 w* l, k1 F4 ~: T4 V
B. 正确
& K5 r# O3 L6 D4 D% K! q+ K4.队列和栈都是运算受限的线性表,只允许在表的两端进行运算( )。
, z$ A% `& C/ ?- x! e2 C2 n3 vA. 错误
2 a* j, }) T; l# s7 c3 s. r$ TB. 正确
$ O& n" ?1 V! s/ C8 m5.在顺序存储结构中,有时也存储数据结构中元素之间的关系( )
: H7 {+ e- h2 X+ Z/ cA. 错误
! H+ a. R0 @) rB. 正确9 }6 ~( {$ X* S9 G+ n2 @7 n
6.链表中的头结点仅起到标识的作用( )
" H. R1 x) t' h' ^0 ^( ZA. 错误
! P% j" q7 q- S% aB. 正确
: ~) q8 c" G6 G o4 S9 L7.队列是一种插入与删除操作分别在表的两端进行的线性表,是一种先进后出型结构( )。6 Q% W& H! m3 m2 q. u
A. 错误
6 a( X+ A3 ~2 c& m% I yB. 正确0 G- i7 X, \6 _& s/ ^8 E
8.循环链表不是线性表( )
" F3 u& ]; z! v5 B- AA. 错误
; Z3 A, ?1 M' m* K# j9 d* x8 yB. 正确
/ H2 e$ F9 Y5 Z5 T) ]9.顺序存储方式插入和删除时效率太低,因此它不如链式存储方式好( )% |9 C4 |) d7 x1 ^
A. 错误, m2 f8 a7 d, P# ]
B. 正确
9 ~1 u: j) t8 @0 s10.健壮的算法不会因非法的输入数据而出现莫名其妙的状态( )。" h& D& x5 g4 N/ h: P; M' m
A. 错误& Z& I. ~' W9 }% u% A9 }) p4 w
B. 正确
- a$ { v; T0 n/ k9 s- a11.顺序存储方式只能用于存储线性结构( )2 O3 f# H8 _; h2 u$ E
A. 错误7 x! p1 |- {! ~& t# P' N
B. 正确
/ H0 E5 Y' [. ^9 ^* g Q12.顺序存储结构的主要缺点是不利于插入或删除操作( )
. f' |; d/ G) D! J# a+ B% AA. 错误
2 O0 F( F1 X$ k" WB. 正确& [6 |8 E; U3 [) i3 p! w: ]9 N$ t9 [) x
13.线性表采用链表存储时,结点和结点内部的存储空间可以是不连续的( )
" b5 Q3 F: ~5 z* `A. 错误
) b3 D; u) e1 D) _, OB. 正确) G4 A: B% K T8 j' D% M; V
14.对任何数据结构链式存储结构一定优于顺序存储结构( )。 t8 h9 _( H+ H2 V! z$ H) Q
A. 错误) M* ~8 [( F/ k5 c9 [) o" O
B. 正确
& ?+ u; q/ y/ c0 ]0 ~- p+ }15.消除递归不一定需要使用栈,此说法( )
) l. c( s5 s4 \ Q4 m) w7 R3 lA. 错误1 n8 } d/ y f+ `3 T' _' f
B. 正确
/ J& C) z+ s, k$ V' H( X! n7 z16.在执行某个排序算法过程中,出现了排序码朝着最终排序序列位置相反方向移动,则该算法是不稳定的( ): H* z, ?9 `3 ]! P
A. 错误
" L! H5 x. `7 {) CB. 正确5 Q k5 e* G* d' l
17.线性表的特点是每个元素都有一个前驱和一个后继( )
! }! ^; d" V/ DA. 错误4 a4 B0 d5 \" ^" e
B. 正确* i/ m/ x& g$ Q5 o% w
18.循环队列也存在空间溢出问题( )
- U. Y( @9 F( q- ~A. 错误" o( o: M [) |' X* C
B. 正确, O" M e) t6 _. P/ u
19.栈和队列都是限制存取点的线性结构( )
( H% X( v7 s; k, k' aA. 错误# x$ r& v ~5 q% O" i4 R
B. 正确) U( k, ~% [* \! P( V! A2 Q
20.栈是实现过程和函数等子程序所必需的结构( )
: S2 P+ e. G, G8 H9 O9 z& Y) d! A" Z+ AA. 错误
1 h7 [0 o! C+ {1 d4 S" NB. 正确 |
|