实用数据结构基础参考答案 下载本文

单元练习1

一.判断题(下列各题,正确的请在前面的括号内打√;错误的打╳ )

(√)(1)数据的逻辑结构与数据元素本身的内容和形式无关。

(√)(2)一个数据结构是由一个逻辑结构和这个逻辑结构上的一个基本运算集构成的整体。 (ㄨ)(3)数据元素是数据的最小单位。

(ㄨ)(4)数据的逻辑结构和数据的存储结构是相同的。

(ㄨ)(5)程序和算法原则上没有区别,所以在讨论数据结构时可以通用。 (√)(6)从逻辑关系上讲,数据结构主要分为线性结构和非线性结构两类。 (√)(7)数据的存储结构是数据的逻辑结构的存储映像。 (√)(8)数据的物理结构是指数据在计算机内实际的存储形式。 (ㄨ)(9)数据的逻辑结构是依赖于计算机的。 (√)(10)算法是对解题方法和步骤的描述。

二.填空题

(1) 数据有逻辑结构和 存储结构 两种结构。

(2) 数据逻辑结构除了集合以外,还包括:线性结构、树形结构和 图形结构 。 (3) 数据结构按逻辑结构可分为两大类,它们是线性结构和 非线性结构 。 (4) 树形结构 和 图形结构 合称为非线性结构。

(5) 在树形结构中,除了树根结点以外,其余每个结点只有 1 个前趋结点。 (6) 在图形结构中,每个结点的前趋结点数和后续结点数可以 任意多个 。 (7) 数据的存储结构又叫 物理结构 。

(8) 数据的存储结构形式包括:顺序存储、链式存储、索引存储和 散列存储 。 (9) 线性结构中的元素之间存在 一对一 的关系。 (10) 树形结构结构中的元素之间存在 一对多 的关系, (11) 图形结构的元素之间存在 多对多 的关系。

(12) 数据结构主要研究数据的逻辑结构、存储结构和 算法(或运算) 三个方面的

内容。

(13) 数据结构被定义为(D,R),其中D是数据的有限集合,R是D上的 关系 的有

限集合。

(14) 算法是一个 有穷指令 的集合。

(15) 算法效率的度量可以分为事先估算法和 事后统计法 。 (16) 一个算法的时间复杂性是算法 输入规模 的函数。

(17) 算法的空间复杂度是指该算法所耗费的 存储空间 ,它是该算法求解问题规模n

的函数。

(18) 若一个算法中的语句频度之和为T(n)=6n+3nlog2n,则算法的时间复杂度为 O

(nlog2n) 。

(19) 若一个算法中的语句频度之和为T(n)=3n+nlog2n+n2,则算法的时间复杂度为 O

1

(n2) 。

(20) 数据结构是一门研究非数值计算的程序设计问题中计算机的 操作对象 ,以及它们之间的关系和运算的学科。

三.选择题

(1)数据结构通常是研究数据的( A )及它们之间的相互联系。

A. 存储结构和逻辑结构 B. 存储和抽象 C. 联系和抽象 D. 联系与逻辑 (2)在逻辑上可以把数据结构分成:( C )。

A. 动态结构和静态结构 B. 紧凑结构和非紧凑结构 C. 线性结构和非线性结构 D. 内部结构和外部结构

(3)数据在计算机存储器内表示时,物理地址和逻辑地址相同并且是连续的,称之为( C )。

A. 存储结构 B. 逻辑结构 C. 顺序存储结构 D. 链式存储结构

(4)非线性结构中的每个结点( D )。

A. 无直接前趋结点 B. 无直接后继结点

C. 只有一个直接前趋结点和一个直接后继结点 D. 可能有多个直接前趋结点和多个直接后继结点 (5)链式存储的存储结构所占存储空间( A )。

A. 分两部分,一部分存放结点的值,另一部分存放表示结点间关系的指针 B. 只有一部分,存放结点的值

C. 只有一部分,存储表示结点间关系的指针

D. 分两部分,一部分存放结点的值,另一部分存放结点所占单元素 (6)算法的计算量大小称为算法的( C )。

A. 现实性 B. 难度 C. 时间复杂性 D. 效率 (7)数据的基本单位是( B )。

A. 数据结构 B. 数据元素 C. 数据项 D. 文件

(8)每个结点只含有一个数据元素,所有存储结点相继存放在一个连续的存储区里,这种存储结构称为( A )结构。

A. 顺序存储 B. 链式存储 C. 索引存储 D. 散列存储 (9)每一个存储结点不仅含有一个数据元素,还包含一组指针,该存储方式是( B )存储方式。

A. 顺序 B. 链式 C. 索引 D. 散列 (10)以下任何两个结点之间都没有逻辑关系的是( D )。

A. 图形结构 B. 线性结构 C. 树形结构 D. 集合 (11)在数据结构中,与所使用的计算机无关的是( C )。

A. 物理结构 B. 存储结构 C. 逻辑结构 D. 逻辑和存储结构

(12)下列四种基本逻辑结构中,数据元素之间关系最弱的是( A )。

A. 集合 B. 线性结构 C. 树形结构 D. 图形结构 (13)与数据元素本身的形式、内容、相对位置、个数无关的是数据的( A )。 A. 逻辑结构 B. 存储结构 C. 逻辑实现 D. 存储实现

2

(14)每一个存储结点只含有一个数据元素,存储结点存放在连续的存储空间,另外有一组指明结点存储位置的表,该存储方式是( C )存储方式。

A. 顺序 B. 链式 C. 索引 D. 散列 (15)算法能正确的实现预定功能的特性称为算法的( A )。

A. 正确性 B. 易读性 C. 健壮性 D. 高效性 (16)算法在发生非法操作时可以作出处理的特性称为算法的( C )。

A. 正确性 B. 易读性 C. 健壮性 D. 高效性 (17)下列时间复杂度中最坏的是( D )。

A. O(1) B. O( n) C. O(log2n) D. O(n2) (18)下列算法的时间复杂度是( D )。 for (i=0;i

A. O(1) B. O( n) (19)算法分析的两个主要方面是( A )。

A. 空间复杂性和时间复杂性 C. 可读性和文档性 (20)计算机算法必须具备输入、输出和( C A. 计算方法 C. 解决问题的有限运算步骤

四.分析下面各程序段的时间复杂度

(1) for (i=0;i

for (i=0;i

解: O(n2

) (3) T=A;

A=B; B=T; 解:O(1)

(4) s1(int n)

{ int p=1,s=0;

for (i=1;i<=n;i++) { p*=i;s+=p; } return(s); } O(n)

(5) s2(int n)

3

C. O(log2n) D. O(n2) B. 正确性和简明性 D. 数据复杂性和程序复杂性 。

B. 排序方法

D. 程序设计方法 ) x=0; y=0;

for (k=1;k<=n;k++)

x++;

for (i=1;i<=n;i++)

for (j=1;j<=n;j++)

y++; 2

解:O(n)

五. 根据二元组关系,画出对应逻辑图形的草图,指出它们属于何种数据结构。

(1)A=(D,R),其中:

D={a,b,c,d,e}, R={ }

解: a b

c d e 属于集合

(2)B=(D,R),其中:

D={a,b,c,d,e,f},R={r}

R={,,,,} (尖括号表示结点之间关系是有向的) 解: a d f c e b

属于线性结构。

(3)F=(D,R),其中:

D={50,25,64,57,82,36,75,55},R={r}

R={<50,25>,<50,64>,<25,36>,<64,57>,<64,82>,<57,55>,<57,75>} 解:

50

25 36 55 57 64 82 75 属于树结构

(4)C=(D,R),其中: D={1,2,3,4,5,6},R={r}

R={(1,2),(2,3),(2,4),(3,4),(3,5),(3,6),(4,5),(4,6)}(园括号表示结点之间关系是有向的)

4