一、 选择题
1. 数据结构被形式定义为(D,S),其中D是( )的有限集合,S是D上的( )有限集合。【*,★,?】
A、算法 B、数据元素 C、数据操作 D、逻辑关系 E、操作 F、映象 G、存储 H、关系
2. 数据结构是一门研究非数值计算的程序设计问题中计算机的( (1) )以及它们之间的( (2) 的学科。【*,?】
(1)A、操作对象 B、计算方法 C、逻辑存储 D、数据映象
(2)A、结构 B、关系 C、运算 D、算法
3. 算法分析的目的是( ),算法分析的二个主要方面是( )。【*】
A、给出数据结构的合理性 B、研究算法中输入输出的关系
C、空间复杂性和时间复杂性 D、分析算法的效率以求改进
E、正确性和简明性 F、分析算法的易懂性和文档性
4. 在数据结构中,从逻辑上可以把数据结构分成( )。【*】
A、动态和静态结构 B、紧凑接和非紧凑结构
)和运算数据结构课后练习题 第1章 绪论
C、线性与非线性结构 D、内部结构和外部结构
5. 计算机算法指的是( ),它必具备输入、输出和( )5 个特性。【*】
A、计算方法 B、排序方法 C、解决问题的有限运算序列
D、可行性、可移植性和可扩充性 E、可行性、确定性和有穷性
6. 线性表的顺序存储结构是一种( )的存储结构,线性表的链式存储结构是一种( A、随机存取 B、顺序存取 C、索引存取 D、散列存取
7. 算法的时间复杂度取决于( )。【*】
A、问题的规模 B、待处理数据的初态 C、问题的规模和待处理数据的初态
8. 线性表若采用链表存储结构时,要求内存中可用存储单元的地址( )。【*,★】A、必须是连续的 B、部分地址必须是连续的
C、一定是不连续的 D、连续不连续都可以
9. 在以下的叙述中,正确的是( )。【***,★】
A、线性表的顺序存储结构优于链式存储结构
B、二维数组是它的每个数据元素为一个线性表的线性表
北京理工大学珠海学院计算机学院 “数据结构”课程组编制 2011-3-1
。【**,★,?】1/12
)
C、栈的操作方式是先进先出
D、队列的操作方式是先进后出
10. 根据数据元素之间关系的不同特性,以下四类基本的逻辑结构反映了四类基本的数据组织形式。以下解释错误的是 ( )。【*】
A、集合中任何两个结点之间都有逻辑关系但组织形式松散
B、线性结构中结点按逻辑关系依次排列形成一条\"锁链\"
C、树形结构具有分支、层次特性,其形态有点像自然界中的树
D、图状结构中的各个结点按逻辑关系互相缠绕,任何两个结点都可以邻接
11. 以下说法正确的是( )。【*,★】
A、数据元素是数据的最小单位
B、数据项是数据的基本单位
C、数据结构是带有结构的各数据项的集合
D、数据结构是带有结构的数据元素的集合
数据结构课后练习题 第1章 绪论
二、 填空题
1. 数据逻辑结构包括( 集合 )、( 线性 )、( 树型 )、( 图型 )四种类型,树型和图型结构合称( 非线性 )。【*】
2. 对于给定的n 个元素,可以构造出的逻辑结构有( 集合 )、( 线性 )、(树型 )和( 图形结构 )四种。【*】
3. 算法的五个重要特性是( 有穷性 )、 确定性 )、( 可行性 )、( 输入 )、( 输出 )。【*】
4. 评价算法的性能从利用计算机资源角度看主要从( 时间复杂度 . 空间复杂度 )方面进行分析。【*】
5. 线性结构中元素之间存在( 一对一)关系,树型结构中元素之间存在(一对多 )关系,图型结构中元素之间存在( 多对多 )关系。【*】
6. 下面程序段的时间复杂度是( O(n) )。【*,★】
i=s=0;
while(s s=0; for(I=0;I 北京理工大学珠海学院计算机学院 “数据结构”课程组编制 2011-3-1 for(j=0;j 8. 所谓数据的逻辑结构指的是数据元素之间的 __逻辑关系_____。【*】 9. 数据结构是相互之间存在一种或多种特定关系的数据元素的集合,它包括三方面的内容_数据的逻辑结构、数据的存储结构、对数据施加的操作_______。【*】 10. 在线性结构中,开始结点_没有____直接前驱结点,其余每个结点有且只有__一个__个直接前驱结点。【*,★】 11. 在树形结构中,根结点只有_一个_____,根结点无前驱,其余每个结点有且只有__一个____直接前驱结点;叶子结点没有____后继__结点,其余每个结点的后继结点可以__任意个___。【*,★】 12. 在图形结构中,每个结点的前驱结点和后继结点可以有_任意个______。【*,★】 13. 存储结构是逻辑结构的______物理____实现。【*】 14. 从数据结构的观点看,通常所说的\"数据\"应分成三个不同的层次,即____数据______、_____数据元素_____和_________数据项_。【*,★】 15. 根据需要,数据元素又被称为___结点_______、_____记录_____、_____元素_____或___顶点_______。【**,★】 16. 通常,存储结点之间可以有___顺序存储_______、_____链式存储_____、_____索引存储_____、_____散列存储___四种关联方式,称为四种基本存储方式。【***】 数据结构课后练习题 第1章 绪论 17. 通常从___正确性________、______可读性_____、_____健壮性______、_____高效性______等几方面评价算法的(包括程序)的质量。【*】 18. 一个算法的时空性能是指该算法的__时间复杂度_____________ 和____空间复杂度__________ , 前者是算法包含的____计算量_______,后者是算法需要的_存储量__________。【*,★】 19. 在一般情况下,一个算法的时间复杂性是____问题规模_______的函数。【*,★】 20. 常见时间复杂性的量级有:常数阶O(_____1______)、对数阶O(__log2 n_________)、线性阶O ( ___n________)、平方阶O(_______n2____)、和指数阶O(______2n_____)。通常认为,具有指数阶量级的算法是______不可行_____的。【*,★】 21. 数据结构的基本任务是数据结构的_____设计______和________实现___。【*】 22. 数据对象是性质相同的 数据元素 的集合。【*】 23. 抽象数据类型是指一个 数学模型 以及定义在该模型上的一组操作。【*】 三、 判断题 1. 数据元素是数据的最小单位。× 2. 数据结构是带有结构的数据元素的集合。√ 3. 数据结构,数据元素,数据项在计算机中的映象分别称为存储结构,结点,数据域。【*,★】√ 5/12 北京理工大学珠海学院计算机学院 “数据结构”课程组编制 2011-3-1 4. 数据项是数据的基本单位。× 5. 数据的逻辑结构是指各数据元素之间的逻辑关系,是用户按使用需要建立的。√ 6. 数据的物理结构是数据在计算机中实际的存储形式√。 7. 算法和程序没有区别,所以在数据结构中二者是通用的。【**,★】× 8. 顺序存储结构属于静态结构,链式存储结构属于动态结构。× 四、 计算应用题 1. 设 n 为正整数。确定下列各程序段中下划线语句的频度。【**,★】 (1) i=1;k=0; while(i i++; } k=0; 数据结构课后练习题 第1章 绪论 for(i=1;i<=n;i++){ for(j=i;j<=n;j++) k++; } 答案;n-2 (2) i=1;j=0; while(i+j<=n){ if(i>j) j++; else i++; } 答案;n(n+1)/2 2. 指出下列两个算法的时间复杂度。【*,★】 (1) int sum1(int n){ int p=1,sum=0,i; 北京理工大学珠海学院计算机学院 “数据结构”课程组编制 2011-3-1 7/12 for(i=1;i<=n;i++){ p*=i; sum+=p; } return(sum); } 答案;O(n) (2) int sum2(int n){ int sum=0,I,j; for(i=1;i<=n;i++){ p=1; for(j=1;j<=i;j++) p*=j; sum+=p; 数据结构课后练习题 第1章 绪论 } return(sum); } 答案;O(n2) 3. 有下列几种用二元组表示的数据结构,画出它们对应的逻辑图形表示(即关系图),并指出它们属于哪种结构。 (1)A=(K,R),其中:K={a,b,c,d,e,f,g,h} R={r}