《数据结构》习题集 第1章 绪论

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《数据结构》练习题

第1章绪论

一、单项选择题。

1.在数据结构中,数据的基本单位是_____ ____。

A. 数据项

B. 数据类型

C. 数据元素

D. 数据变量2.数据结构中数据元素之间的逻辑关系被称为__ ____。

A. 数据的存储结构

B. 数据的基本操作

C. 程序的算法

D. 数据的逻

辑结构

3.在数据结构中,与所使用计算机无关的是数据的____ ___。

A. 存储结构

B. 逻辑和物理结构

C. 逻辑结构

D. 物理结构

4.在链式存储结构中,数据之间的关系是通过____ ____体现的。

A. 数据在内存的相对位置

B. 指示数据元素的指针

C. 数据的存储地址

D. 指针

5.计算算法的时间复杂度是属于一种____ ___。

A. 事前统计的方法

B. 事前分析估算的方法

C. 事后统计的方法

D. 事后分析估算的方法

6.在对算法的时间复杂度进行估计的时候,下列最佳的时间复杂度是____ __。

A. n2

B. nlogn

C. n

D. logn

7.设使用某算法对n个元素进行处理,所需的时间是T(n)=100nlog2n+200n+2000,则该算法的渐近时间复杂度为____ ___。

A. O(1)

B. O(n)

C. O(200n)

D. O(nlog2n)

8.在数据结构中,从逻辑上可以把数据结构分成()。

A.动态结构和静态结构B.紧凑结构和非紧凑结构

C.线性结构和非线性结构D.内部结构和外部结构

9.与数据元素本身的形式、内容、相对位置、个数无关的是数据的()。

A.存储结构B.存储实现

C.逻辑结构D.运算实现

10通常要求同一逻辑结构中的所有数据元素具有相同的特性,这意味着()。

A.数据具有同一特点

B.不仅数据元素所包含的数据项的个数要相同,而且对应数据项的类型要一致

C.每个数据元素都一样

D.数据元素所包含的数据项的个数要相等

11.以下说法正确的是()。

A.数据元素是数据的最小单位

B.数据项是数据的基本单位

C.数据结构是带有结构的各数据项的集合

D.一些表面上很不相同的数据可以有相同的逻辑结构

12.以下与数据的存储结构无关的术语是()。

A.顺序队列 B. 链表 C. 有序表 D. 链栈

13.以下数据结构中,()是非线性数据结构

A.树B.字符串C.队D.栈

14.在决定选取任何类型的存储结构时,一般不多考虑______。

A.各节点的值如何

B.所用编程语言实现这种结构是否方便

C.对数据有哪些运算

D.节点个数的多少

15.数据采用链式存储结构时,要求______。

A.节点的最后一个数据域是指针类型

B.每个节点有多少个后继就设多少个指针域

C.所有节点占用一片连续的存储区域

D.每个节点占用一片连续的存储区域

16.数据的运算______。

A.必须用程序设计语言来描述

B.有算术运算和关系运算两大类

C.是根据存储结构来定义的效率

D.与采用何种存储结构有关

17._______ 不是算法的基本特性。

A.确定性

B.可行性

C.在规定的时间内完成

D.指令序列长度有限

18.以下说法中错误的是_______。

(1)原地工作算法的含义是指不需要任何额外的辅助空间

(2)在相同的问题规模下n下,时间复杂度为O(nlog2n)的算法在执行时间上总是优于时间复杂度为O()的算法

(3)时间复杂度通常是指最坏情况下,估计算法执行时间的一个上限

(4)一个算法的时间复杂度与实现算法的语言无关

A.(3)

B.(1)、(2)

C.(1)

D.(1)、(4)

19.下面程序的时间复杂为_______。

for(i=1,s=0;i<=n;i++){

t=1;

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

t=t*j;

s=s+t;

}

A.O(n4)

B.O(n2)

C.O(n)

D.O(n3)

20.下面程序的时间复杂度为_______。

void fun( int n)

{

int i=1;

while (i<=n)

i=i*2;

}

A.O(n2)

B.O(n)

C.O(log2n)

D.O(nlog2n)

21.下面程序的时间复杂度为_______。

void fun( int n)

{

int i=1;

while (i<=n) i=i*3;

}

A.O(log3n)

B.O(n2)

C.O(nlog3n)

D.O(n)

二、判断题。

1.数据对象就是一组任意数据元素的集合。()

2.任何数据结构都具备3个基本运算:插入、删除、和查找。()

3.算法最终必须由计算机程序实现.()

三、解答题。

试分析下面各程序段的时间复杂度。

(1)x=90; y=100;

while(y>0)

if(x>100)

{x=x-10;y--;}

else x++;

(2)for (i=0; i

for (j=0; j

a[i][j]=0;

(3)s=0;

for( i=0; i

for(j=0; j

s+=B[i][j];

sum=s;

(4)i=1;

while(i<=n)

i=i*3;

(5)x=0;

for(i=1; i

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

x++;

(6)x=n; //n>1

y=0;

while(x≥(y+1)* (y+1))

y++;

相关文档
最新文档