计算机软件技术基础课后题答案
- 格式:doc
- 大小:1.63 MB
- 文档页数:99
数据结构习题答案 2 第一节概论 2 第二节线性表 5 第三节栈和队列16 第五节树19 第七节查找25 第八节排序29 操作系统练习题参考答案32数据结构习题答案第一节概论一、选择题1.要求同一逻辑结构的所有数据元素具有相同的特性,这意味着( )。
A.数据元素具有同一的特点~B.不仅数据元素包含的数据项的个数要相同,而且对应数据项的类型要一致 C.每个数据元素都一样 D.数据元素所包含的数据项的个数要相等2.数据结构是一门研究非数值计算的程序设计问题中计算机的( (1) )以及它们之间的( (2) )和运算的学科。
(1) ~A.操作对象 B.计算方法 C.逻辑存储 D.数据映像(2) A.结构~B.关系 C.运算 D.算法3.数据结构被形式地定义为(D,R),其中D是( (1) )的有限集合,R是D上( (2) )的有限集合。
(1) A.算法~B.数据元素 C.数据操作 D.逻辑结构(2)A.操作 B.映像 C.存储~D.关系4.在数据结构中,从逻辑上可以把数据结构分为( )。
A.动态结构和静态结构 B.紧凑结构和非紧凑结构~C.线性结构和非线性结构 D.内部结构和外部结构5.线性表的顺序存储结构是一种( )的存储结构。
~A.随机存取 B.顺序存取 C.索引存取 D.Hash存取6.算法分析的目的是( )。
A.找出数据结构的合理性 B.研究算法中的输入和输出的关系~C.分析算法的效率以求改进D.分析算法的易懂性和文档性7.计算机算法指的是( (1) ),它必须具备输入、输出和( (2) )等五个特征。
(1) A.计算方法 B.排序方法~C.解决某一问题的有限运算序列 D.调度方法(2) A.可行性、可移植性和可扩充性~B.可行性、确定性和有穷性 C.确定性,有穷性和稳定性 D.易读性、稳定性和安全性8.线性表若采用链表存储结构,要求内存中可用存储单元的地址( )。
A.必须是连续的 B.部分必须是连续的 C.一定是不连续的~D.连续不连续都可以9.在以下的叙述中,正确的是( )。
数据结构习题答案 2 第一节概论 2 第二节线性表 5 第三节栈和队列16 第五节树19 第七节查找25 第八节排序29 操作系统练习题参考答案32数据结构习题答案第一节概论一、选择题1.要求同一逻辑结构的所有数据元素具有相同的特性,这意味着( )。
A.数据元素具有同一的特点~B.不仅数据元素包含的数据项的个数要相同,而且对应数据项的类型要一致 C.每个数据元素都一样 D.数据元素所包含的数据项的个数要相等2.数据结构是一门研究非数值计算的程序设计问题中计算机的( (1) )以及它们之间的( (2) )和运算的学科。
(1) ~A.操作对象 B.计算方法 C.逻辑存储 D.数据映像(2) A.结构~B.关系 C.运算 D.算法3.数据结构被形式地定义为(D,R),其中D是( (1) )的有限集合,R是D上( (2) )的有限集合。
(1) A.算法~B.数据元素 C.数据操作 D.逻辑结构(2)A.操作 B.映像 C.存储~D.关系4.在数据结构中,从逻辑上可以把数据结构分为( )。
A.动态结构和静态结构 B.紧凑结构和非紧凑结构~C.线性结构和非线性结构 D.内部结构和外部结构5.线性表的顺序存储结构是一种( )的存储结构。
~A.随机存取 B.顺序存取 C.索引存取 D.Hash存取6.算法分析的目的是( )。
A.找出数据结构的合理性 B.研究算法中的输入和输出的关系~C.分析算法的效率以求改进D.分析算法的易懂性和文档性7.计算机算法指的是( (1) ),它必须具备输入、输出和( (2) )等五个特征。
(1) A.计算方法 B.排序方法~C.解决某一问题的有限运算序列 D.调度方法(2) A.可行性、可移植性和可扩充性~B.可行性、确定性和有穷性 C.确定性,有穷性和稳定性 D.易读性、稳定性和安全性8.线性表若采用链表存储结构,要求内存中可用存储单元的地址( )。
A.必须是连续的 B.部分必须是连续的 C.一定是不连续的~D.连续不连续都可以9.在以下的叙述中,正确的是( )。
数据结构习题答案 2 第一节概论 2 第二节线性表 5 第三节栈和队列16 第五节树19 第七节查找25 第八节排序29 操作系统练习题参考答案32数据结构习题答案第一节概论一、选择题1.要求同一逻辑结构的所有数据元素具有相同的特性,这意味着( )。
A.数据元素具有同一的特点~B.不仅数据元素包含的数据项的个数要相同,而且对应数据项的类型要一致 C.每个数据元素都一样 D.数据元素所包含的数据项的个数要相等2.数据结构是一门研究非数值计算的程序设计问题中计算机的( (1) )以及它们之间的( (2) )和运算的学科。
(1) ~A.操作对象 B.计算方法 C.逻辑存储 D.数据映像(2) A.结构~B.关系 C.运算 D.算法3.数据结构被形式地定义为(D,R),其中D是( (1) )的有限集合,R是D上( (2) )的有限集合。
(1) A.算法~B.数据元素 C.数据操作 D.逻辑结构(2)A.操作 B.映像 C.存储~D.关系4.在数据结构中,从逻辑上可以把数据结构分为( )。
A.动态结构和静态结构 B.紧凑结构和非紧凑结构~C.线性结构和非线性结构 D.内部结构和外部结构5.线性表的顺序存储结构是一种( )的存储结构。
~A.随机存取 B.顺序存取 C.索引存取 D.Hash存取6.算法分析的目的是( )。
A.找出数据结构的合理性 B.研究算法中的输入和输出的关系~C.分析算法的效率以求改进D.分析算法的易懂性和文档性7.计算机算法指的是( (1) ),它必须具备输入、输出和( (2) )等五个特征。
(1) A.计算方法 B.排序方法~C.解决某一问题的有限运算序列 D.调度方法(2) A.可行性、可移植性和可扩充性~B.可行性、确定性和有穷性 C.确定性,有穷性和稳定性 D.易读性、稳定性和安全性8.线性表若采用链表存储结构,要求内存中可用存储单元的地址( )。
A.必须是连续的 B.部分必须是连续的 C.一定是不连续的~D.连续不连续都可以9.在以下的叙述中,正确的是( )。
第1章习题部分答案1. 操作系统的发展分为那几个阶段?解:操作系统的发展经历了三个阶段:操作系统的酝酿阶段、操作系统的形成阶段、操作系统的理论化和标准化阶段。
2. 计算机软件技术开发系统包括那几个阶段?解:计算机软件开发系统的发展经历了四个阶段:机器语言阶段、汇编语言阶段、高级语言阶段、面向对象语言和可视化语言阶段。
3. 计算机软件技术的主要范畴是什么?解:计算机软件技术的主要范畴包括软件工程技术、程序设计技术、软件工具环境技术、系统软件技术、数据库技术、实时软件技术、网络软件技术、与实际工作相关的软件技术等八个领域的内容。
4. 从软件技术的发展现状来看有哪些值得我们注意的问题?解:从软件技术的发展现状来看有以下几个值得我们注意的问题:1)软件危机2)软件技术标准,软件版权和软件价值评估3)软件技术的基础研究。
1第2章习题部分答案1. 什么是软件危机?软件危机的表现有哪些?解:软件开发技术的进步为能满足发展的要求,在软件开发中遇到的问题找不到解决的方法,问题积累起来形成了尖锐的矛盾,导致了软件危机。
2. 软件危机产生的原因是什么?解:造成软件危机的原因是由于软件产品本身的特点以及开发软件的方式、方法、技术和人员引起的。
1)软件规模越来越大,结构越来越复杂。
2)软件开发管理困难而复杂。
3)软件开发费用不断增加。
4)软件开发技术落后。
5)生产方式落后。
6)开发工具落后,生产率提高缓慢。
3. 常见的软件过程模型有哪些?解:常见的软件过程模型有瀑布模型、增量模型、演化过程模型、敏捷开发4. 如何对软件质量进行评价?解:软件质量的评价主要围绕可维护性、可靠性、可理解性和效率这几个方面进行。
2第3章习题部分答案1. 软件可行性研究的目的是什么?软件可行性研究的任务又是什么?解:软件可行性研究的目的就是用最小的代价在尽可能短的时间内确定该软件项目是否能够开发,是否值得去开发。
可行性研究的任务首先需要进行概要的分析研究,初步确定项目的规模和目标,确定项目的约束和限制,把他们清楚地列举出来。
《计算机软件技术基础》参考答案A一、单项选择题(每空1分,共50分)1-5 CBCBD 6-10 ADDCB11-15 ACABB 16-20 BLJCI21-25 CCABC 26-30 BADAB31-35 BCDBA 36-40 DDCDA41-45 DDCAC 46-50 BBCAB评分标准:本题每空1分,多选、少选、错选均不得分。
二、本题10分(1) v != NULL或v(2) x > v->val 或x != v->val(3) p->next(4) u->next(5) head->next评分标准:本题10分,每空2分,在(3)-(5)中未写出next扣1分三、本题10分(1) A!=NULL && B!=NULL(2) A->data==B->data(3) B=B->next;(4) A!=NULL(5) last->next=NULL;评分标准:本题10分,每空2分,在(2)中未写出data扣1分,在(3)和(5)中未写出next扣1分四、本题10分解:(1) A、B、C三个进程之间存在互斥的制约关系。
因为打印机属于临界资源,必须一个进程使用完之后另一个进程才能使用。
(2)mutex:用于互斥的信号量,初值为1。
各进程的代码如下:进程A 进程B 进程C... … ...... … ...P(mutex) P(mutex) P(mutex)申请打印机申请打印机申请打印机使用打印机使用打印机使用打印机V(mutex) V(mutex) V(mutex)… … …评分标准:本题10分,(1)题3分,(2)题7分,其中给出信号量含义和初值1分,三个进程代码各2分五、本题10分解:FIFO淘汰算法:内存块为3时,缺页中断(或称缺页次数、页面故障)为9;内存块为4时,缺页中断为10。
LRU淘汰算法:内存块为3时,缺页中断为10评分标准:本题10分,FIFO淘汰算法两种情况各3分,LRU淘汰算法1分,要求有分析过程六、本题10分解:段式存储管理的地址转换过程为:(1)根据逻辑地址中的段号查段表的相应栏目;(2)根据段内地址<段长度,检查地址是否越界;(3)若不越界,则绝对地址=该段的主存起始地址+段内地址。
信息与数据信息是人们对某种事物的理解,通常可以是一件事情、一种状况或者是基于研究和经验所获得的知识。
数据是信息的表达。
例如,在线书店必须记录图书的书名、作者、客户、订单、书籍评论、书籍版本、送货等非常多的信息。
不同的用户所要保存和使用的数据各不相同,具体应该保存哪些数据由业务需求决定,保存数据的目的是使业务的运作更有效。
在任何数据库中,一般都保存有两种类型的数据:∙静态的,或者是历史的数据。
∙动态的,或者是事务性的数据。
文件系统最早用计算机实现对数据的管理是使用文件方式进行的,然而,文件的组织结构往往与生成该文件的程序有关,其他人要共享该文件,就必须要熟悉文件的格式等信息。
这为共享信息带来了诸多不便。
通过文件共享数据,还有一致性修改的问题,即如果文件结构被修改了,则共享者的程序也要相应地做修改,否则就会出错。
数据以文件形式保存,不仅使读文件的程序可以多次使用,而且其他程序只要知道数据格式和组织方式也可以使用,这就叫做数据资源共享。
商业应用中数据共享是必须的。
数据库系统信息共享和信息的易维护性是信息管理发展的必然要求。
为了解决这些问题,产生了数据库技术。
数据库技术的发展主要是用来克服文件系统的缺陷,克服这些缺陷主要是在应用程序和数据库之间增加了一个功能强大的软件——DBMS。
下图说明了在数据库系统中,数据库用户、数据库应用程序及数据库管理系统之间的关系。
用户与数据库应用程序交互,数据库应用程序与DBMS交互,由DBMS负责访问数据库中的数据。
也就是应用程序不直接与数据库打交道。
而在文件处理系统中,应用程序是直接访问存储数据的文件的。
这个改变非常重要,它使得编程工作变得非常简单,因为应用程序不再需要关心数据的记录结构和物理存储方式。
这样,开发人员就可以将注意力集中在如何满足用户的需要上,而不必集中在计算机系统如何组织数据的问题上。
从上述分析可以看到数据库具有如下特点:∙数据是集成的∙数据重复少∙程序与数据相对独立∙容易提供符合用户不同要求的信息提取方式∙易于提供安全保障9.2 数据模型模型是指明事物本质的方法,是对事物、现象、过程等客观系统的简化描述,是理解系统的思维工具。
数据结构习题答案第一节概论一、选择题1.要求同一逻辑结构的所有数据元素具有相同的特性,这意味着( )。
A.数据元素具有同一的特点 *B.不仅数据元素包含的数据项的个数要相同,而且对应数据项的类型要一致 C.每个数据元素都一样 D.数据元素所包含的数据项的个数要相等2.数据结构是一门研究非数值计算的程序设计问题中计算机的( (1) )以及它们之间的( (2) )和运算的学科。
(1) A.操作对象 B.计算方法 *C.物理存储 D.数据映像(2) A.结构 *B.关系 C.运算 D.算法3.数据结构被形式地定义为(D,R),其中D是( (1) )的有限集合,R是D上( (2) )的有限集合。
(1) A.算法 *B.数据元素 C.数据操作 D.逻辑结构(2)A.操作 B.映像 C.存储 *D.关系4.在数据结构中,从逻辑上可以把数据结构分为( )。
A.动态结构和静态结构 B.紧凑结构和非紧凑结构 *C.线性结构和非线性结构 D.内部结构和外部结构5.线性表的顺序存储结构是一种( )的存储结构。
*A.随机存取 B.顺序存取 C.索引存取 D.Hash存取6.算法分析的目的是( )。
A.找出数据结构的合理性 B.研究算法中的输入和输出的关系 *C.分析算法的效率以求改进 D.分析算法的易懂性和文档性7.计算机算法指的是( (1) ),它必须具备输入、输出和( (2) )等五个特征。
(1) A.计算方法 B.排序方法 *C.解决某一问题的有限运算序列D.调度方法(2) A.可行性、可移植性和可扩充性 *B.可行性、确定性和有穷性 C.确定性,有穷性和稳定性 D.易读性、稳定性和安全性8.线性表若采用链表存储结构,要求内存中可用存储单元的地址( )。
A.必须是连续的 B.部分必须是连续的 C.一定是不连续的 *D.连续不连续都可以9.在以下的叙述中,正确的是( )。
A.线性表的线性存储结构优于链式存储结构 *B.二维数组是它的每个数据元素为一个线性表的线性表 C.栈的操作方式是先进先出 D.队列的操作方式是先进后出10.根据数据元素之间关系的不同特性,以下四类基本的逻辑结构反映了四类基本的数据组织形式,其中解释错误的是( )。
《计算机软件技术基础》试题答案一、选择题(每题5分,共30分)1. 下列关于软件工程的描述,错误的是(D)。
A. 软件工程是计算机科学的一个分支B. 软件工程的目标是提高软件质量和生产率C. 软件工程包括软件开发、维护和管理等方面D. 软件工程只关注大型软件的开发2. 下列哪种编程范式主要用于描述程序逻辑和数据的结构?(B)A. 面向过程编程B. 面向对象编程C. 函数式编程D. 逻辑编程3. 下列关于软件测试的描述,错误的是(C)。
A. 软件测试是软件开发过程中的重要环节B. 软件测试的目的是发现和修正软件中的错误C. 软件测试无需考虑软件的性能和稳定性D. 软件测试分为单元测试、集成测试和系统测试等阶段4. 下列关于软件维护的描述,正确的是(B)。
A. 软件维护是指对软件进行升级和优化B. 软件维护包括纠正软件错误、改进软件性能和增加新功能等C. 软件维护不需要考虑软件的可维护性D. 软件维护仅限于软件开发完成后5. 下列关于软件项目管理工具的描述,错误的是(D)。
A. 软件项目管理工具可以协助项目经理进行项目规划B. 软件项目管理工具可以协助项目经理进行项目监控C. 软件项目管理工具可以协助项目经理进行项目沟通D. 软件项目管理工具无法协助项目经理进行项目风险管理二、填空题(每题5分,共30分)1. 软件生命周期可以分为______、______、______、______和______五个阶段。
答案:需求分析、设计、实现、测试、维护2. 在面向对象编程中,一个对象通常包括______和______两部分。
答案:属性、方法3. 软件测试的目的是______、______和______。
答案:发现错误、修正错误、提高软件质量4. 软件维护的类型包括______、______、______和______。
答案:纠错性维护、适应性维护、完善性维护、预防性维护5. 软件项目管理工具主要包括______、______、______和______。
第一章信息与计算机1.1 什么是信息?信息与数据的区别和联系在何处?信息定义之一:信息是现实世界中存在的客观实体、现象、关系进行描述的数据。
信息定义之二:信息是经过加工后并对实体的行为产生影响的数据。
与数据的区别和联系:数据定义:数据是现实世界客观存在的实体或事物的属性值,即指人们听到的事实和看到的景象。
我们把这些数据收集起来,经过处理后,即得到人们需要的信息。
信息和数据的关系可以归结为: 1. 信息是有一定含义的数据。
2. 信息是经过加工(处理)后的数据。
3. 信息是对决策有价值的数据。
1.2 信息有哪些基本属性?信息的基本属性有: 1. 事实性。
2. 等级性。
3. 可压缩性。
4. 可扩散性。
5. 可传输性。
6. 共享性。
7. 增值性和再生性。
8. 转换性。
1.3 计算机的主要特点是什么?计算机最主要的特点是: 1. 高速自动的操作功能。
2. 具有记忆的能力。
3. 可以进行各种逻辑判断。
4. 精确高速的计算能力。
1.5 完整的计算机系统应该包括哪几部分?目前最完整的计算机系统学说认为由五部分组成: 1. 人员 2. 数据 3. 设备 4. 程序 5. 规程1.6 什么是计算机硬件?什么是计算机软件?硬件:泛指实际存在的物理设备,包括计算机本身及其外围设备。
微型计算机的硬件系统:主机、外存储器、输入设备、输出设备、微机的系统总线。
软件:是指计算机程序、方法、规则的文档以及在计算机上运行它时所必须的数据。
计算机软件一般分为系统软件和应用软件。
1.8 软件技术发展的几个阶段各有什么特点?它与硬件的关系如何?第一阶段:高级语言阶段特点:这一时期,编译技术代表了整个软件技术,软件工作者追求的主要目的是设计和实现在控制结构和数据结构方面表现能力强的高级语言。
但在这一时期内,编译系统主要是靠手工编制,自动化程度很低。
硬件关系:此时期计算机的硬件要求仅能用机器指令来编制可运行的程序。
第二阶段:结构程序设计阶段特点:在程序的正确性方面,提出了结构化程序设计思想使程序的可靠性提高了。
计算机软件技术基础课后答案【篇一:《计算机软件技术基础》复习题(含答案)】txt>1.线性表的链式存储结构与顺序存储结构相比优点是a. 所有的操作算法实现简单c. 便于插入和删除 b. 便于随机存取d. 便于利用零散的存储器空间2.线性表是具有n个的有限序列。
a. 表元素d. 数据项 b. 字符 c. 数据元素e. 信息项3.若长度为n的线性表采用顺序存储结构,在其第i个位置插入一个新元素的算法的时间复杂度为c 。
(1≤i≤n+1)a. o(0)b. o(1)2c. o(n) d. o(n)4.设a是一个线性表(a1,a2,?,an),采用顺序存储结构,则在等概率的前提下,平均每插入一个元素需要移动的元素个数为 b,平均每删除一个元素需要移动的元素个数为 a;若元素插在ai与ai+1之间(0≤i≤n-1)的概率为元素所要移动的元素个数为 c; 2(n?i),则平均每插入一个n(n?1) n?1 22n?1c.3a. n 23n?1d. 4b.5.下列函数中,按它们在n??时的无穷大阶数,最大的是 d。
a. lognb. nlognn/2c. 2 d. n!6.a. s-next=p+1; p-next=s;b. (*p).next=s; (*s).next=(*p).next;c. s-next=p-next; p-next=s-next;d. s-next=p-next; p-next=s;7.将两个各有n个元素的有序表归并为一个有序表时,其最少的比较次数是 a 。
a. nc. n-1b. 2n-1 d. 2n13.用单链表表示的链式队列的队头在链表的a 位置。
a. 链头b. 链尾c. 链中14.若用单链表表示队列,则应该选用。
a. 带尾指针的非循环链表b. 带尾指针的循环链表c. 带头指针的非循环链表d. 带头指针的循环链表15.在解决计算机主机与打印机之间速度不匹配问题时,通常设置一个打印数据缓冲区,主机将要输出的数据依次写入该缓冲区,而打印机则从该缓冲区中取出数据打印,先放入打印缓冲区的数据先被打印。
数据结构习题答案 2 第一节概论 2 第二节线性表 5 第三节栈和队列16 第五节树19 第七节查找25 第八节排序29 操作系统练习题参考答案32数据结构习题答案第一节概论一、选择题1.要求同一逻辑结构的所有数据元素具有相同的特性,这意味着( )。
A.数据元素具有同一的特点~B.不仅数据元素包含的数据项的个数要相同,而且对应数据项的类型要一致 C.每个数据元素都一样 D.数据元素所包含的数据项的个数要相等2.数据结构是一门研究非数值计算的程序设计问题中计算机的( (1) )以及它们之间的( (2) )和运算的学科。
(1) ~A.操作对象 B.计算方法 C.逻辑存储 D.数据映像(2) A.结构~B.关系 C.运算 D.算法3.数据结构被形式地定义为(D,R),其中D是( (1) )的有限集合,R是D上( (2) )的有限集合。
(1) A.算法~B.数据元素 C.数据操作 D.逻辑结构(2)A.操作 B.映像 C.存储~D.关系4.在数据结构中,从逻辑上可以把数据结构分为( )。
A.动态结构和静态结构 B.紧凑结构和非紧凑结构~C.线性结构和非线性结构 D.内部结构和外部结构5.线性表的顺序存储结构是一种( )的存储结构。
~A.随机存取 B.顺序存取 C.索引存取 D.Hash存取6.算法分析的目的是( )。
A.找出数据结构的合理性 B.研究算法中的输入和输出的关系~C.分析算法的效率以求改进D.分析算法的易懂性和文档性7.计算机算法指的是( (1) ),它必须具备输入、输出和( (2) )等五个特征。
(1) A.计算方法 B.排序方法~C.解决某一问题的有限运算序列 D.调度方法(2) A.可行性、可移植性和可扩充性~B.可行性、确定性和有穷性 C.确定性,有穷性和稳定性 D.易读性、稳定性和安全性8.线性表若采用链表存储结构,要求内存中可用存储单元的地址( )。
A.必须是连续的 B.部分必须是连续的 C.一定是不连续的~D.连续不连续都可以9.在以下的叙述中,正确的是( )。
计算机软件技术基础(第三版)课后习题答案较全第一章信息与计算机1.1 什么是信息?信息与数据的区别和联系在何处?信息定义之一:信息是现实世界中存在的客观实体、现象、关系进行描述的数据。
信息定义之二:信息是经过加工后并对实体的行为产生影响的数据。
与数据的区别和联系:数据定义:数据是现实世界客观存在的实体或事物的属性值,即指人们听到的事实和看到的景象。
我们把这些数据收集起来,经过处理后,即得到人们需要的信息。
信息和数据的关系可以归结为:1. 信息是有一定含义的数据。
2. 信息是经过加工(处理)后的数据。
3. 信息是对决策有价值的数据。
1.2 信息有哪些基本属性?信息的基本属性有: 1. 事实性。
2. 等级性。
3. 可压缩性。
4. 可扩散性。
5. 可传输性。
6. 共享性。
7. 增值性和再生性。
8. 转换性。
1.3 计算机的主要特点是什么?计算机最主要的特点是: 1. 高速自动的操作功能。
2. 具有记忆的能力。
3. 可以进行各种逻辑判断。
4. 精确高速的计算能力。
1.5 完整的计算机系统应该包括哪几部分?目前最完整的计算机系统学说认为由五部分组成: 1. 人员 2. 数据3. 设备 4. 程序 5. 规程1.6 什么是计算机硬件?什么是计算机软件?硬件:泛指实际存在的物理设备,包括计算机本身及其外围设备。
微型计算机的硬件系统:主机、外存储器、输入设备、输出设备、微机的系统总线。
软件:是指计算机程序、方法、规则的文档以及在计算机上运行它时所必须的数据。
计算机软件一般分为系统软件和应用软件。
1.8 软件技术发展的几个阶段各有什么特点?它与硬件的关系如何?第一阶段:高级语言阶段特点:这一时期,编译技术代表了整个软件技术,软件工作者追求的主要目的是设计和实现在控制结构和数据结构方面表现能力强的高级语言。
但在这一时期内,编译系统主要是靠手工编制,自动化程度很低。
硬件关系:此时期计算机的硬件要求仅能用机器指令来编制可运行的程序。
数据结构习题答案第一节概论一、选择题1.要求同一逻辑结构的所有数据元素具有相同的特性,这意味着( )。
A.数据元素具有同一的特点 *B.不仅数据元素包含的数据项的个数要相同,而且对应数据项的类型要一致 C.每个数据元素都一样 D.数据元素所包含的数据项的个数要相等2.数据结构是一门研究非数值计算的程序设计问题中计算机的( (1) )以及它们之间的( (2) )和运算的学科。
(1) A.操作对象 B.计算方法 *C.物理存储D.数据映像(2) A.结构 *B.关系 C.运算 D.算法3.数据结构被形式地定义为(D,R),其中D是( (1) )的有限集合,R是D上( (2) )的有限集合。
(1) A.算法 *B.数据元素 C.数据操作D.逻辑结构(2)A.操作 B.映像 C.存储 *D.关系4.在数据结构中,从逻辑上可以把数据结构分为( )。
A.动态结构和静态结构 B.紧凑结构和非紧凑结构*C.线性结构和非线性结构 D.部结构和外部结构5.线性表的顺序存储结构是一种( )的存储结构。
*A.随机存取 B.顺序存取 C.索引存取 D.Hash 存取6.算法分析的目的是( )。
A.找出数据结构的合理性 B.研究算法中的输入和输出的关系 *C.分析算法的效率以求改进 D.分析算法的易懂性和文档性7.计算机算法指的是( (1) ),它必须具备输入、输出和( (2) )等五个特征。
(1) A.计算方法 B.排序方法 *C.解决某一问题的有限运算序列 D.调度方法(2) A.可行性、可移植性和可扩充性 *B.可行性、确定性和有穷性 C.确定性,有穷性和稳定性 D.易读性、稳定性和安全性8.线性表若采用链表存储结构,要求存中可用存储单元的地址( )。
A.必须是连续的 B.部分必须是连续的 C.一定是不连续的 *D.连续不连续都可以9.在以下的叙述中,正确的是( )。
A.线性表的线性存储结构优于链式存储结构*B.二维数组是它的每个数据元素为一个线性表的线性表 C.栈的操作方式是先进先出 D.队列的操作方式是先进后出10.根据数据元素之间关系的不同特性,以下四类基本的逻辑结构反映了四类基本的数据组织形式,其中解释错误的是( )。
*A.集合中任何两个结点之间都有逻辑关系但组织形式松散 B.线性结构中结点按逻辑关系依次排列形成一条“锁链” C.树形结构具有分支、层次特性,其形态有点像自然界中的树 D.图状结构中的各个结点按逻辑关系互相缠绕,任何两个结点都可以邻接11.以下说法正确的是( )。
A.数据元素是数据的最小单位 B.数据项是数据的基本单位 C.数据结构是带有结构的各数据项的集合 *D.数据结构是带有结构的数据元素的集合二、判断题╳1.数据元素是数据的最小单位。
√2.数据结构是带有结构的数据元素的集合。
√3.数据结构、数据元素、数据项在计算机中的映像分别称为存储结构、结点、数据域。
╳4.数据项是数据的基本单位。
√5.数据的逻辑结构是指各数据元素之间的逻辑关系,是用户按使用需要建立的。
√6.数据的物理结构是数据在计算机中实际的存储形式。
╳7.算法和程序没有区别,所以在数据结构中二者是通用的。
√8.顺序存储结构属于静态结构,链式存储结构属于动态结构。
三、填空题1.所谓数据的逻辑结构指的是数据元素之间的____逻辑关系_____。
2,数据结构是相互之间存在一种或多种特定关系的数据元素的集合,它包括三方面的容___数据的逻辑结构、数据的存储结构、对数据施加的操作___。
3.数据的逻辑结构包括_____集合结构___、_____线性结构___、____树型结构_____和__图状结构_____四种类型。
4.在线性结构中,开始结点__没有_前驱结点,其余每个结点有且只有__一个_个前驱结点。
5.在树形结构中,根结点只有___一个___,其余每个结点有且只有___一个___前驱结点;叶结点没有___后继__结点,其余每个结点的后继结点可以有__任意个__·6.在图形结构中,每个结点的前驱结点和后继结点可以有___任意个___。
7.算法的五个重要特性是__可行性___、___确定性___、___有穷性___、___输入__、___输出__。
8.下列程序段的时间复杂度是__O(n)___。
for (i=1;i<=n;i++) A[i,i]=0;9.下列程序段的时间复杂度是__ O(n2)___。
S=0;for(i=1;i<=n;i++)for(j=1;j<=n;j++) s=s+B[i,j];sum=s;10.存储结构是逻辑结构的___物理__实现。
11.从数据结构的观点看,通常所说的“数据”应分成三个不同的层次,即__数据__、__数据元素_和__数据项___。
12.根据需要,数据元素又被称为__结点__、__记录__、___元素__或__顶点_。
13.通常,存储结点之间可以有___顺序存储__、____链式存储__、____索引存储__、___散列存储_四种关联方式,称为四种基本存储方式。
14.通常从___确定性___、__可读性_、___健壮性__、_高效性__等几方面评价算法(包括程序)的质量。
15.一个算法的时空性能是指该算法的_时间复杂度___和___空间复杂度_,前者是算法包含的__计算量__,后者是算法需要的___存储量__。
16.在一般情况下,一个算法的时间复杂度是__问题规模__的函数。
17.常见时间复杂度的量级有:常数阶O(__1_)、对数阶O(__log2n___)、线性阶O(__n__)、平方阶O(_n2_)和指数阶O(__2n_)。
通常认为,具有指数阶量级的算法是__不可行__的。
18.数据结构的基本任务是数据结构的__设计__和__实现__。
19.数据对象是性质相同的__数据元素_的集合。
20.抽象数据类型是指一个__数学模型__以及定义在该模型上的一组操作。
四、应用题1.分析下列程序段的时间复杂度。
……i=1;WHILE (i<=n) i=i*2;……答:O(log2n)2.叙述算法的定义及其重要特性。
答:算法是对特定问题求解步骤的一种描述,是指令的有限序列。
其中每一条指令表示一个或多个操作。
算法应该具有下列特性:可行性、确定性、有穷性、输入和输出。
3.简述下列术语:数据,数据元素,数据结构,数据对象。
答:数据是信息的载体,是描述客观事物的数、字符,以及所有能输入到计算机中并被计算机程序识别和处理的符号的集合。
数据元素是数据的基本单位。
在不同的条件下,数据元素又可称为元素、结点、顶点、记录等。
数据结构是指相互之间存在着一种或多种关系的数据元素的集合。
数据对象是性质相同的数据元素的集合。
4.逻辑结构与存储结构是什么关系?答:在数据结构中,逻辑结构与存储结构是密切相关的,存储结构不仅将数据元素存储到计算机中,而且还要表示各数据元素之间的逻辑关系。
逻辑结构与计算机无关,存储结构是数据元素之间的关系在计算机中的表示。
5.将数量级210,n,n2,n3,nlog2n,log2n,2n,n!,(2/3)n,n2/3按增长率进行排列。
答:(2/3)n,210,log2n,n2/3,n,nlog2n,n2,n3,2n,n!6.设有数据逻辑结构为:D={k1,k2,k3,…,k9},R={<k1,k3>,<k1,k8>,<k2,k3>,<k2,k4>,<k2,k5>,<k3,k9>,<k5,k6>,<k8,k9>,<k9,k7>,<k4,k6>},画出这个逻辑结构的图示,并确定相对于关系R,哪些结点是开始结点,哪些结点是终端结点?答:图略。
开始结点k1、k2,终端结点k6、k7。
7.设有如图1.1所示的逻辑结构图,给出它的逻辑结构,并说出它是什么类型的逻辑结构。
答:数据逻辑结构为:D={k1,k2,k3,…,k8},R={<k1,k2>,<k1,k3>,<k3,k5>,<k3,k4>,<k4,k7>,<k4,k6>,<k5,k8>},其逻辑结构类型为树型结构。
8.分析下列程序的时间复杂度(设n为正整数)。
(1)int rec(int n){if(n==1)return(1);else return(n*rec(n-1)); }(2)x=91;y=100;While (y>0) if(x>10) y--;(3)i=1;j=0;while(i+j<=n)if(i>j)j++; else i++;(4)x=n;y=0;while(x>=(y+1)*(y+1)) y++;答:(1) O(n) (2) O(1) (3) O(n) (4) O(n1/2) 9.设n为正数。
试确定下列各程序段中前面加记号的语句的频度:(1)i=1;k=0;while(i<=n-1) {k+=10*i; i++; ) (2) k=0;for(i=1;i<=n;i++)for(j=i;j<=n:j++) k++;答:(1)n-1 (2)n+(n-1)+……+1=n(n+1)/2第二节线性表一、选择题1.线性结构中的一个结点代表一个( )。
*A.数据元素 B.数据项 C.数据 D.数据结构2.线性表L=(a1,a2,…,ai,…,an),下列说法正确的是( )。
A.每个元素都有一个直接前驱和直接后继 B.线性表中至少要有一个元素 C.表中诸元素的排列顺序必须是由小到大或由大到小的 D.*除第一个元素和最后一个元素外其余每个元素都有一个且仅有一个直接前驱和直接后继3.顺序表是线性表的( )。
A.链式存储结构 *B.顺序存储结构 C.索引存储结构 D.散列存储结构4.对于顺序表,以下说法错误的是( )。
* A.顺序表是用一维数组实现的线性表,数组的下标可以看成是元素的绝对地址 B.顺序表的所有存储结点按相应数据元素间的逻辑关系决定的次序依次排列 C.顺序表的特点是:逻辑结构中相邻的结点在存储结构中仍相邻 D.顺序表的特点是:逻辑上相邻的元素,存储在物理位置也相邻的单元中5.对顺序表上的插入、删除算法的时间复杂度分析来说,通常以( )为标准操作。
A.条件判断 *B.结点移动 C.算术表达式D.赋值语句6.对于顺序表的优缺点,以下说法错误的是( )。
A.无需为表示结点间的逻辑关系而增加额外的存储空间 B.可以方便地随机存取表中的任一结点*C.插入和删除操作较方便 D.由于顺序表要求占用连续的空间,存储分配只能预先进行(静态分配) 7.在含有n个结点的顺序存储的线性表中,在任一结点前插入一个结点所需移动结点的平均次数为( )。