收藏 分享(赏)

数据结构复习题-第1章答案2014-5-16.doc

上传人:tangtianxu1 文档编号:2876892 上传时间:2018-09-29 格式:DOC 页数:7 大小:73.50KB
下载 相关 举报
数据结构复习题-第1章答案2014-5-16.doc_第1页
第1页 / 共7页
数据结构复习题-第1章答案2014-5-16.doc_第2页
第2页 / 共7页
数据结构复习题-第1章答案2014-5-16.doc_第3页
第3页 / 共7页
数据结构复习题-第1章答案2014-5-16.doc_第4页
第4页 / 共7页
数据结构复习题-第1章答案2014-5-16.doc_第5页
第5页 / 共7页
点击查看更多>>
资源描述

1、第 1 章绪论一、选择题(每小题 2 分,共 20 分)1.以下哪一个不是算法的特性( ) 。A.有穷性 B.确定性 C.简洁性 D.可行性2.数据结构的定义为(D,S),其中 D 是( )的集合。A. 算法 B. 数据元素 C. 数据操作 D. 逻辑结构3.设 n 是描述问题规模的非负整数,下面程序片段的时间复杂度是( ) 。x=2;while(x=i ;j-)s ; 11.数据结构是研讨数据的_和_,以及它们之间的相互关系,并对与这种结构定义相应的_,设计出相应的_。12.数据的物理结构包括_的表示和_的表示。13.一个算法具有 5 个特性: _、_、_,有零个或多个输入、有一个或多个输出

2、。14.抽象数据类型的定义仅取决于它的一组_,而与_无关,即不论其内部结构如何变化,只要它的_不变,都不影响其外部使用。15.一个数据结构在计算机中_称为存储结构。16.在有 n 个选手参加的单循环赛中,总共将进行_场比赛。17.对于给定的 n 个元素,可以构造出的逻辑结构有_,_,_,_四种。18.数据的逻辑结构是指_。参考题:20.下面程序段的时间复杂度为_。(n1) 答案 O(n)sum=1;for (i=0 ;sum1) 答案 O(n)sum=1;for (i=0;sum1 DO i:=i_div_2;25.下面程序段中带下划线的语句的执行次数的数量级是_。答案 nlog2ni:=1;

3、WHILE in BEGIN FOR j:=1 TO n DO_x:=x+1;i:=i*2 END;26.下面程序段中带下划线的语句的执行次数的数量级是:_答案 log2ni:=1; WHILE in DO i:=i*2;25.在下面的程序段中,对的赋值语句的频度为_(表示为 n 的函数) 。 答案1+(1+2+(1+2+3)+ +(1+2+n )=n(n+1)(n+2)/6 O(n3)FOR i: TO n DO FOR j: TO i DOFOR k:1 TO j DO :delta;27.已知如下程序段FOR i:= n DOWNTO 1 DO 语句 1BEGIN x:=x+1; 语句

4、2FOR j:=n DOWNTO i DO 语句 3y:=y+1; 语句 4END;语句 1 执行的频度为_;语句 2 执行的频度为_;语句 3 执行的频度为_;语句 4 执行的频度为_。答案 n+1 n n(n+3)/2 n(n+1)/2。四、简答题(共 10 分)1.什么是算法? 算法的 5 个特性是什么? 试根据这些特性解释算法与程序的区别。2.数据的逻辑结构分为线性结构和非线性结构两大类。线性结构包括线性表、栈、队列、数组等;非线性结构包括树、图等;这两类结构各自的特点是什么?3.简述下列概念:数据、数据元素、数据类型、数据结构、逻辑结构、存储结构、线性结构、非线性结构。参考题:4.试

5、描述数据结构和抽象数据类型的概念与程序设计语言中数据类型概念的区别?答案简单来说,数据结构定义了一组按某些关系结合在一起的数据元素;抽象数据类型是指一个数学模型以及定义在该模型上的一组操作;而程序设计语言中的数据类型不仅定义了一组带结构的数据元素,而且还在其上定义了一组操作。5.算法的时间复杂度仅与问题的规模相关吗?答案不是,事实上,算法的时间复杂度不仅与问题的规模相关,还与输入实例中的元素取值等相关,但在最坏的情况下,其时间复杂度就是只与求解问题的规模相关的。我们在讨论时间复杂度时,一般就是以最坏情况下的时间复杂度为准的。6.常用的存储表示方法有哪几种?答案常用的存储表示方法有四种:顺序存储

6、方法:它是把逻辑上相邻的结点存储在物理位置相邻的存储单元里,结点间的逻辑关系由存储单元的邻接关系来体现。由此得到的存储表示称为顺序存储结构。链接存储方法:它不要求逻辑上相邻的结点在物理位置上亦相邻,结点间的逻辑关系是由附加的指针字段表示的。由此得到的存储表示称为链式存储结构。索引存储方法:除建立存储结点信息外,还建立附加的索引表来标识结点的地址。散列存储方法:根据结点的关键字直接计算该结点的存储地址。7.试举一个数据结构的例子、叙述其逻辑结构、存储结构、运算三个方面的内容。答案例如有一张学生成绩表,记录了一个班的学生各门课的成绩。按学生的姓名为一行记成的表。这个表就是一个数据结构。每个记录(有

7、姓名,学号,成绩等字段) 就是一个结点,对于整个表来说,只有一个开始结点(它的前面无记录) 和一个终端结点 (它的后面无记录),其他的结点则各有一个也只有一个直接前趋和直接后继(它的前面和后面均有且只有一个记录)。这几个关系就确定了这个表的逻辑结构。那么我们怎样把这个表中的数据存储到计算机里呢? 用高级语言如何表示各结点之间的关系呢?是用一片连续的内存单元来存放这些记录(如用数组表示)还是随机存放各结点数据再用指针进行链接呢 ? 这就是存储结构的问题,我们从高级语言的层次讨论这个问题。最后,我们有了这个表(数据结构) ,肯定要用它,那么就是要对这张表中的记录进行查询,修改,删除等操作,对这个表

8、可以进行哪些操作以及如何实现这些操作就是数据的运算问题了。7.什么是数据结构? 有关数据结构的讨论涉及哪三个方面?答案数据结构是指数据以及相互之间的关系。记为:数据结构 = D, R 。其中,D 是某一数据对象,R 是该对象中所有数据元素之间的关系的有限集合。有关数据结构的讨论一般涉及以下三方面的内容: 数据元素以及它们相互之间的逻辑关系,也称为数据的逻辑结构,简称为数据结构; 数据元素极其关系在计算机存储器内的存储表示,也称为数据的物理结构,简称为存储结构; 施加于该数据结构上的操作。数据的逻辑结构是从逻辑关系上描述数据,它与数据的存储不是一码事,是与计算机存储无关的。因此,数据的逻辑结构可

9、以看作是从具体问题中抽象出来的数据模型,是数据的应用视图。数据的存储结构是逻辑数据结构在计算机存储器中的实现(亦称为映像) ,它是依赖于计算机的,是数据的物理视图。数据的操作是定义于数据逻辑结构上的一组运算,每种数据结构都有一个运算的集合。例如搜索、插入、删除、更新、排序等。8.什么是数据?它与信息是什么关系?答案什么是信息?广义地讲,信息就是消息。宇宙三要素(物质、能量、信息)之一。它是现实世界各种事物在人们头脑中的反映。此外,人们通过科学仪器能够认识到的也是信息。信息的特征为:可识别、可存储、可变换、可处理、可传递、可再生、可压缩、可利用、可共享。什么是数据?因为信息的表现形式十分广泛,许

10、多信息在计算机中不方便存储和处理,例如,一个大楼中 4 部电梯在软件控制下调度和运行的状态、一个商店中商品的在库明细表等,必须将它们转换成数据才能很方便地在计算机中存储、处理、变换。因此,数据(data)是信息的载体,是描述客观事物的数、字符、以及所有能输入到计算机中并被计算机程序识别和处理的符号的集合。在计算机中,信息必须以数据的形式出现。 答案:一、选择题 1-5 CBADC 6-10 CCBAA 11-16 CACABD二、判断题 1-5 6-10 11-12三、填空题 1. 正确性 易读性 健壮性 高效率 2. 集合、线性、树形 3. 顺序存储结构、链式存储结构 4.顺序映像、非顺序映

11、像 5.有穷性、确定性、可行性 6.时间、空间 7. m*n 8.n2 (n*n) 9. 时间复杂度 空间复杂度。 10. n(n+1)/2-3 或 (n+3)(n-2)/2 11.逻辑结构 物理结构 操作(运算) 算法 12.数据元素 数据元素间关系 13.有穷性 确定性 可行性 14.逻辑特性 在计算机内部如何表示和实现 数学特性 15.表示(又称映像) 16. n(n-1)/2 17.集合 线性结构 树形结构 图状结构或网状结构 18.数据的组织形式,即数据元素之间逻辑关系的总体。而逻辑关系是指数据元素之间的关联方式或称“邻接关系” 。四、简答题(共 10 分)1.什么是算法? 算法的

12、5 个特性是什么? 试根据这些特性解释算法与程序的区别。答:通常,定义算法为“为解决某一特定任务而规定的一个指令序列。 ”一个算法应当具有以下特性: 有输入。一个算法必须有 0 个或多个输入。它们是算法开始运算前给予算法的量。这些输入取自于特定的对象的集合。它们可以使用输入语句由外部提供,也可以使用赋值语句在算法内给定。 有输出。一个算法应有一个或多个输出,输出的量是算法计算的结果。 确定性。算法的每一步都应确切地、无歧义地定义。对于每一种情况,需要执行的动作都应严格地、清晰地规定。 有穷性。一个算法无论在什么情况下都应在执行有穷步后结束。 可行性。算法中每一条运算都必须是足够基本的。就是说,

13、它们原则上都能精确地执行,甚至人们仅用笔和纸做有限次运算就能完成。算法和程序不同,程序可以不满足上述的特性(4)。例如,一个操作系统在用户未使用前一直处于“等待 “的循环中,直到出现新的用户事件为止。这样的系统可以无休止地运行,直到系统停工。此外,算法是面向功能的,通常用面向过程的方式描述;程序可以用面向对象方式搭建它的框架。2.数据的逻辑结构分为线性结构和非线性结构两大类。线性结构包括线性表、栈、队列、数组等;非线性结构包括树、图等;这两类结构各自的特点是什么?答案线性结构的特点是:在结构中所有数据成员都处于一个序列中,有且仅有一个开始成员和一个终端成员,并且所有数据成员都最多有一个直接前驱

14、和一个直接后继。例如,一维数组、线性表等就是典型的线性结构非线性结构的特点是:一个数据成员可能有零个、一个或多个直接前驱和直接后继。例如,树、图或网络等都是典型的非线性结构。3.简述下列概念:数据、数据元素、数据类型、数据结构、逻辑结构、存储结构、线性结构、非线性结构。答案数据:指能够被计算机识别、存储和加工处理的信息载体。数据元素:就是数据的基本单位,在某些情况下,数据元素也称为元素、结点、顶点、记录。数据元素有时可以由若干数据项组成。数据类型:是一个值的集合以及在这些值上定义的一组操作的总称。数据结构:指的是数据之间的相互关系,即数据的组织形式。一般包括三个方面的内容:数据的逻辑结构、存储结构和数据的运算。逻辑结构:指各数据元素之间的逻辑关系。存储结构:就是数据的逻辑结构用计算机语言的实现。线性结构:数据逻辑结构中的一类,它的特征是若结构为非空集,则该结构有且只有一个开始结点和一个终端结点,并且所有结点都最多只有一个直接前趋和一个直接后继。线性表就是一个典型的线性结构。非线性结构:数据逻辑结构中的另一大类,它的逻辑特征是一个结点可能有多个直接前趋和直接后继。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高等教育 > 专业基础教材

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报