《数据结构》吕云翔编著第1章绪论习题解答
《数据结构》吕云翔编著第1章绪论习题解答
![《数据结构》吕云翔编著第1章绪论习题解答](https://img.taocdn.com/s3/m/8a856e6b842458fb770bf78a6529647d27283426.png)
《数据结构》吕云翔编著第1章绪论习题解答数据结构第一章绪论习题一、【单选题】1. (A)是数据的基本单位。
A、数据元素B、数据对象C、数据项D、数据结构2. (C)是数据的不可分割的最小单位。
A、数据元素B、数据对象C、数据项D、数据结构3. 若采用非顺序映象,则数据元素在内存中占用的存储空间(C)。
A、一定连续B、一定不连续C、可连续可不连续4. 若采用顺序映象,则数据元素在内存中占用的存储空间(A)。
A、一定连续B、一定不连续C、可连续可不连续5. 在数据结构中,从逻辑上可以把数据结构分为(C)A、动态结构和静态结构B、紧凑结构和非紧凑结构C、线性结构和非线性结构D、内部结构和外部结构6. 在树形结构中,数据元素间存在(B)的关系。
A、一对一B、一对多C、多对多D、除同属一个集合外别无关系7. 下列说法中错误的是(B)。
A、数据对象是数据的子集B、数据元素间关系在计算机中的映象即为数据的存储结构C、非顺序映象的特点是借助指示元素存储地址的指针来表示数据元素间逻辑关系D、抽象数据类型指一个数学模型及定义在该模型上的一组操作8. 计算机算法指的是(C)。
A、计算方法B、排序方法C、解决问题的有限运算序列D、调度方法9. 下列不属算法特性的是(D)。
A、有穷性B、确定性C、零或多个输入D、健壮性10.算法分析的目的是(C)。
A、找出数据结构的合理性B、研究算法中的输入和输出的关系C、分析算法的效率以求改进D、分析算法的易读性和文档性11.算法分析的两个主要方面是(A)。
A、空间复杂性和时间复杂性B、正确性和简明性C、可读性和文档性D、数据复杂性和程序复杂性12.算法的计算量的大小称为算法的(A)。
A、效率B、复杂性C、现实性D、难度13.在下面的程序段中,对x的赋值语句的频度为(C)。
for(i=1;i<=n;++i)for(j=1;j<=n;++j)x=x+1;A、2nB、nC、n2D、log2n14.设n为正整数,则如下程序段中最后一行的语句频度在最坏情况下是(D)。
数据结构网参考答案
![数据结构网参考答案](https://img.taocdn.com/s3/m/cd295c412b160b4e767fcf86.png)
数据结构试题参考答案第一章绪论一、选择题:二、填空题:1、(l)结点的集合(2)结点有序对的集合2、(l)开始结点(2)终端结点3、(l)线性结构(2)非线性结构4、前驱5、顺序方法或索引方法6、顺序7、(l)逻辑结构(2)存储8、时间复杂度9、问题规模10、数组11、(1)数据元素(2)数据元素间关系12、(1)集合(2)线性结构(3)树形结构(4)图状结构或网状结构。
13、(1)有穷性(2)确定性(3)可行性。
14、O(n)15、(1)一对一(2)一对多(3)多对多三、判断题(正确的在括号中记√,错误的记×)四、应用题1、评价好的算法有四个方面。
一是算法的正确性;二是算法的易读性;三是算法的健壮性;四是算法的时空效率(运行)。
2、将学号、姓名、平均成绩看成一个记录(元素,含三个数据项),将100个这样的记录存于数组中。
因一般无增删操作,故宜采用顺序存储。
typedef struct{int num;//学号char name[8];//姓名float score;/平均成绩}node;node student[100];3、应从两方面进行讨论:如通讯录较少变动(如城市私人电话号码),主要用于查询,以顺序存储较方便,既能顺序查找也可随机查找;若通讯录经常有增删操作,用链式存储结构较为合适,将每个人的情况作为一个元素(即一个结点存放一个人),设姓名作关键字,链表安排成有序表,这样可提高查询速度。
4、(1)O(1) (2)O(n2) (3)O(n3)五、综合题:1、struct node{int year,month,day; };typedef struct{int num;//帐号char name[8];//姓名struct node date;//开户年月日int tag;//储蓄类型,如:0- 零存,1- 一年定期……float put;//存入累加数;float interest;//利息float total;//帐面总数}count;2、第一层FOR循环判断n+1次,往下执行n次,第二层FOR执行次数为(n+(n-1)+(n-2)+…+1),第三层循环体受第一层循环和第二层循环的控制,其执行次数如下表:i= 1 2 3 … nj=n n n n … nj=n-1 n-1 n-1 n-1 …… … … …j=3 3 3j=2 2 2j=1 1执行次数为(1+2+…+n)+(2+3+…+n)+…+n=n*n(n+1)/2-n(n2-1)/6。
数据结构第一章课后习题与答案资料
![数据结构第一章课后习题与答案资料](https://img.taocdn.com/s3/m/e3fd05ab80c758f5f61fb7360b4c2e3f57272538.png)
数据结构第一章课后习题与答案资料1.什么是数据结构?答:数据结构是指数据对象以及数据对象之间的关系、操作和约束的一种逻辑结构。
它关注如何将数据以及数据之间的关系组织起来,以便更高效地进行操作和使用。
2.数据结构的分类有哪些?答:数据结构可以分为线性数据结构和非线性数据结构。
线性数据结构包括数组、链表、栈和队列;非线性数据结构包括树和图。
3.什么是算法?答:算法是指解决特定问题的一系列步骤和规则。
它可以描述为一个有限的指令集,用于将输入数据转换为输出结果。
4.算法的特征有哪些?答:算法具有以下特征:•输入:算法必须有输入,可以是零个或多个。
•输出:算法必须有输出,可以是零个或多个。
•有穷性:算法必须在有限步骤内结束。
•确定性:算法的每一步骤必须明确且无歧义。
•可行性:算法的每一步骤必须可行,即可以执行。
5.算法的时间复杂度是什么?如何表示时间复杂度?答:算法的时间复杂度是指算法执行所需的时间。
它通常用大O符号表示。
常见的时间复杂度有O(1)、O(n)、O(n^2)等。
6.算法的空间复杂度是什么?如何表示空间复杂度?答:算法的空间复杂度是指算法执行所需的额外空间。
它通常用大O符号表示。
常见的空间复杂度有O(1)、O(n)、O(n^2)等。
7.什么是数据的逻辑结构?答:数据的逻辑结构是指数据对象之间的关系。
常见的逻辑结构有线性结构、树形结构和图形结构。
8.什么是数据的存储结构?答:数据的存储结构是指数据在计算机内存中的表示方式。
常见的存储结构有顺序存储结构和链式存储结构。
9.顺序存储结构和链式存储结构有什么区别?答:顺序存储结构将数据存储在一块连续的内存空间中,可以随机访问元素,但插入和删除操作需要移动大量元素。
链式存储结构将数据存储在不连续的内存空间中,通过指针相连,插入和删除操作只需要修改指针,但访问元素需要遍历链表。
10.数组和链表的区别是什么?答:数组是一种顺序存储结构,元素在内存中连续存储,可以通过下标直接访问元素;链表是一种链式存储结构,元素在内存中不连续存储,通过指针相连。
《数据结构》吕云翔编著第1章绪论习题解答
![《数据结构》吕云翔编著第1章绪论习题解答](https://img.taocdn.com/s3/m/7f581cbc03d276a20029bd64783e0912a2167cf9.png)
《数据结构》吕云翔编著第1章绪论习题解答数据结构是计算机科学中的一个重要概念,它涉及到存储、组织和管理数据的方法和技术。
《数据结构》是吕云翔编著的一本经典教材,本文将就第1章绪论中的习题进行解答。
1. 为什么要学习数据结构?数据结构是计算机科学的基础,它为我们提供了存储和操作数据的方式。
学习数据结构能够帮助我们更好地理解和分析问题,设计高效的算法,并且能够为我们解决实际问题提供支持。
2. 什么是数据结构?数据结构指的是数据元素之间的关系,以及存储和访问这些数据的方法。
常见的数据结构包括数组、链表、栈、队列、树、图等。
每种数据结构都有各自的特点和适用场景。
3. 数据结构有哪些基本操作?数据结构的基本操作包括插入、删除和查找。
插入操作将一个新的元素插入到数据结构中,删除操作将一个元素从数据结构中移除,查找操作用于寻找特定元素的位置或者判断某个元素是否存在。
4. 什么是线性结构?线性结构是数据元素之间呈线性关系的数据结构。
常见的线性结构有数组和链表。
数组是一种连续存储数据元素的结构,链表是一种通过指针将数据元素链接起来的结构。
5. 什么是非线性结构?非线性结构是数据元素之间呈非线性关系的数据结构。
常见的非线性结构有树和图。
树是一种层次结构,图是由节点和边组成的结构,节点之间的关系可以是任意的。
6. 什么是抽象数据类型?抽象数据类型(ADT)是一种数学模型,它定义了一种数据类型的抽象行为和操作。
ADT将数据的逻辑结构和数据的物理存储分离,使得数据结构和数据操作可以独立地进行设计和实现。
7. 数据结构的选择原则是什么?选择适当的数据结构是解决问题的关键。
选择数据结构应该考虑到数据的特点、操作的效率和实际应用需求。
在选择数据结构时,需要综合考虑空间复杂度和时间复杂度的因素,并且合理权衡它们之间的关系。
8. 数据结构与算法之间有什么关系?数据结构和算法是紧密相关的。
数据结构提供了算法操作的底层基础,而算法则是对数据结构进行操作的具体步骤和方法。
数据结构题库课后练习题答案章节测试题1-9章全
![数据结构题库课后练习题答案章节测试题1-9章全](https://img.taocdn.com/s3/m/5cfc77e30342a8956bec0975f46527d3240ca6bd.png)
第一章绪论一.填空题1.数据结构是一门研究非数值计算的程序设计问题中计算机的_____________ 以及它们之间的_________ 和操作等的学科。
2.数据结构包括数据的_____________ 结构、_____________ 结构和运算。
3.数据的物理结构被分为_________、________、__________和___________四种。
4.数据的逻辑结构是指数据元素之间的逻辑关系,根据数据元素之间关系的不同特性,逻辑结构通常有_______________ ,________________ ,________________ 和__________________四类基本结构。
5.一种抽象数据类型包括 ____________和_____________ 两个部分。
6.数据结构是指数据及其相互之间的______________。
当结点之间存在M 对N(M:N)的联系时,称这种结构为____________当结点之间存在1 对N(1:N)的联系时,称这种结构为____________。
7.数据结构被形式地定义为(D, R),其中D是___________ 的有限集合,R是D上的有限集合。
8. 数据的基本单位是________,它在计算机中是作为一个整体来处理的。
9.算法的特性有________,___________ ,____________ ,_______________ 和__________ 等五种特性。
10.通常从四个方面评价算法的质量:_________、_________、_________和_________。
11.算法的时间复杂度为(n3+n2log2n+14n)/n2,其数量级表示为________。
12.算法的效率可分为______________ 效率和__________________ 效率。
13.算法的时间复杂度为(3n3+2000n log2n+90)/n2,其数量级表示为________。
数据结构答案 第1章 绪论学习指导
![数据结构答案 第1章 绪论学习指导](https://img.taocdn.com/s3/m/4ecddae8856a561252d36fee.png)
第1章绪论1.1 知识点分析1.数据数据是信息的载体,是对客观事物的符号表示。
数据是计算机化的现实世界的事物的抽象描述。
凡是能被计算机识别、存取和加工处理的符号、字符、图形、图象、声音、视频信号等一切信息都可以称为数据。
2.数据元素数据元素是对现实世界中某独立个体的数据描述,是数据的基本单位。
数据元素也称为结点,通常由若干数据元素组成。
3.数据项数据项是数据不可分割的、具有独立意义的最小数据单位,是对数据元素属性的描述。
数据、数据元素、数据项反映了数据组织的三个层次,即数据可以由若干个数据元素组成,数据元素又有若干数据项组成。
4.数据对象数据对象是性质相同的数据元素的集合,是数据的一个子集。
5.数据结构数据结构是相互之间存在的一种或多种特定关系的数据元素的集合。
简言之,数据结构是指数据之间的关系,即数据的组织形式。
数据结构包括以下三个方面:(1)数据的逻辑结构指数据元素之间的逻辑关系,即从逻辑关系上描述数据,它与数据的存储无关,是独立于计算机的。
一个数据的逻辑结构G可以用二元组G=(D,R)来表示,其中D是数据元素的集合,R是D上所有数据元素之间关系的有限集合。
线性结构是指数据元素之间存在“一对一”关系的逻辑结构,非线性结构是指数据元素之间存在“一对多”或“多对多”关系的逻辑结构。
(2)数据的存储结构数据元素及其关系在计算机存储器内的表示,称为数据的存储结构,也称为数据的物理结构。
数据的存储结构是数据的逻辑结构用计算机语言的实现,它依赖于计算机语言。
(3)数据的运算指对数据施加的操作。
数据的运算是定义在数据的逻辑结构上的,而运算的实现则是在存储结构上进行的。
6.算法的描述和分析数据的运算是通过算法来描述的,对于算法的说明可以使用不同的语言,对同一问题可以有不同的算法。
首选选用的算法必须是正确的。
其次,主要考虑执行算法所耗费的时间(即时间效率)和执行算法所耗费的存储空间(即空间效率)。
(1)时间复杂度通常把算法中所包含简单操作次数的多少叫做算法的时间复杂度。
《数据结构》习题解析
![《数据结构》习题解析](https://img.taocdn.com/s3/m/fc7feb13cd1755270722192e453610661ed95ac7.png)
图 1-1 知识结构图
⑴问题规模 ⑵基本语句 ⑶时间复杂度 ⑷大 O 记号
2. 学习要点
对本章的学习要从两条主线出发,一条主线是数据结构,包括数据结构的相关概念 及含义,另一条主线是算法,包括算法的相关概念、描述方法以及时间复杂度的分析方 法。
在学习数据结构时要抓住两个方面:逻辑结构和存储结构,并注意把握二者之间的 关系。在学习算法时,要以算法的概念和特性为基本点,并在以后的学习中注意提高算 法设计的能力。对于算法时间性能的分析,要将注意力集中在增长率上,即基本语句执 行次数的数量级,在设计算法时,养成分析算法时间性能的习惯,进而有效地改进算法 的效率。
I
第1章绪 论
1.1 本章导学
1. 知识结构图 本章的知识结构如图 1-1 所示,其中第二层的椭圆代表本章的学习主线。
数据结构
绪论
算法
基
逻
存
基
算
本
辑
储
本
法
概
结 关系 结
概
分
念
构
构
念
析
⑴数据 ⑵数据元素 ⑶数据结构 ⑷抽象数据类型
⑴逻辑结构 ⑵数据结构 的分类
⑴存储结构 ⑵常用存储 方法
⑴算法 ⑵算法特性 ⑶评价算法 ⑷描述算法
第 2 章 线性表............................................................................................................. 8 2.1 本章导学.......................................................................................................... 8 2.2 习题解析.......................................................................................................... 9
第1章 绪论习题参考答案
![第1章 绪论习题参考答案](https://img.taocdn.com/s3/m/a1212bb2b8f67c1cfbd6b821.png)
习题一参考答案一、概念题1. 试述下列各组概念:⑴数据、数据元素、数据项⑵数据结构、数据的逻辑结构、数据的存储结构⑶数据类型、数据操作⑷算法、算法的时间复杂度、算法的空间复杂度参考答案: 略2.试述数据结构研究的3个方面的内容。
参考答案:数据结构研究的3个方面分别是数据的逻辑结构、数据的存储结构和数据的运算(操作)。
3.试述集合、线性结构、树型结构和图型结构四种常用数据结构的特性。
参考答案:集合结构:集合中数据元素之间除了“同属于一个集合”的特性外,数据元素之间无其它关系,它们之间的关系是松散性的。
线性结构:线性结构中数据元素之间存在“一对一”的关系。
即若结构非空,则它有且仅有一个开始结点和终端结点,开始结点没有前趋但有一个后继,终端结点没有后继但有一个前趋,其余结点有且仅有一个前驱和一个后继。
树形结构:树形结构中数据元素之间存在“一对多”的关系。
即若结构非空,则它有一个称为根的结点,此结点无前驱结点,其余结点有且仅有一个前驱,所有结点都可以有多个后继。
图形结构:图形结构中数据元素之间存在“多对多”的关系。
即若结构非空,则在这种数据结构中任何结点都可能有多个前驱和后继。
4.设有数据的逻辑结构的二元组定义形式为B=(D,R),其中D={a1,a2,…,a n},R={<a i,a i+1>| i=1,2,…,n-1},请画出此逻辑结构对应的顺序存储结构和链式存储结构的示意图。
参考答案:顺序存储结构示意图如下:0 1 2 … n-2 n-1链式存储结构示意图如下:…5.设一个数据结构的逻辑结构如图1.9所示,请写出它的二元组定义形式。
图1.9 第5题的逻辑结构图参考答案:它的二元组定义形式为B=(D,R),其中D={k1,k2,k3,k4,k5,k6,k7,k8,k9},R=<k1,k3>,<k1,k8>,<k2,k3><k2,k4>,<k2,k5>,<k3,k9>,<k4,k6>,<k4,k7>,<k5,k6>,<k8,k9>,<k9,k7> }。
数据结构课后答案
![数据结构课后答案](https://img.taocdn.com/s3/m/54c5bf16f8c75fbfc67db2d7.png)
B.等于
1
C.小于
1
D.不可以确立
答案:C
解说:储存密度是指一个结点数据自己所占的储存空间和整个结点所占的储存空间之比,假定单
链表一个结点自己所占的空间为D,指针域所占的空间为N,则储存密度为:D/(D+N),必定小于
(8)将两个各有n个元素的有序表合并成一个有序表,其最少的比较次数是()。
1。
A.n
n个结点的有序单链表的时间复杂度是(
B.O(n)C.O(n2)
)。
D.O(nlog2n)
答案:C
解说:单链表创立的时间复杂度是O(n),而要成立一个有序的单链表,则每生成一个新结点时需
要和已有的结点进行比较,确立适合的插入地点,所以时间复杂度是O(n2)。
(12)以下说法错误的选项是()。
A.求表长、定位这两种运算在采纳次序储存结构时实现的效率不比采纳链式储存结构时实现的
号、姓名、性别等都是数据项。
数据对象 :是性质同样的数据元素的会合,是数据的一个子集。比如:整数数据对象是会合
N={0,
±1,±2,},字母字符数据对象是会合C={‘A’,‘B’, ,‘Z’, ‘a’,‘b’, ,‘z’},学生基本信息表也但是一个数据对象。
数据结构 :是互相之间存在一种或多种特定关系的数据元素的会合。换句话说,数据结构是带“结构”的数据元素的会合, “结构”就是指数据元素之间存在的关系。
C.必定是不连续的
D.连续或不连续都能够
答案:D
(6)线性表L在()状况下合用于使用链式结构实现。
A.需常常改正L中的结点值B.需不停对L进行删除插入
C.L中含有大批的结点D.L中结点结构复杂
答案:
B
解说:链表最大的优点在于插入和删除时不需要挪动数据,直接改正指针即可。
数据结构第1章绪论习题答案
![数据结构第1章绪论习题答案](https://img.taocdn.com/s3/m/6c4616c3d5bbfd0a79567384.png)
Ch1绪论1.下列与数据元素有关的叙述中,哪一个是不正确的(B)。
A.数据元素是数据的基本单位,即数据集合中的个体B.数据元素是有独立含义的数据最小单位C.数据元素又称结点D.数据元素又称作记录2.下列关于数据的逻辑结构的叙述中,哪一个是正确的(A)。
A.数据的逻辑结构是数据间关系的描述B.数据的逻辑结构反映了数据在计算机中的存储方式C.数据的逻辑结构分为顺序结构和链式结构D.数据的逻辑结构分为静态结构和动态结构3.数据的基本单位是(数据元素),在计算机中通常作为一个(整体)进行处理。
4.所有能输入到计算机中并被计算机程序处理的(符号)称为数据。
5.数据结构是一门研究非数值计算的程序设计问题中计算机的(①A)以及它们之间的(②B)和运算等的学科。
① A.数据元素 B.计算方法 C.逻辑存储 D.数据映像② A.结构 B.关系 C.运算 D.算法6.数据结构被形式的定义为(K,R),其中K是(①B)的有限集,R是K上的(②D)有限集。
① A.算法 B.数据元素 C.数据操作 D.逻辑结构② A.操作 B.映像 C.存储 D.关系7.具有线性结构的数据结构是(D)。
A.树B.图C.广义表D.栈8.在数据结构中,从逻辑上可以把数据结构分为(D)。
A.动态结构和静态结构B.紧凑结构和非紧凑结构C.内部结构和外部结构D.线性结构和非线性结构9.线性结构中元素之间存在(A)关系。
A.一对一B.一对多C.多对一D.多对多10.数据逻辑结构包括(集合)、(线性结构)、(树形结构)和(图状结构)四种类型,树形结构和图形结构合称为(非线性结构)。
11.在线性结构中,第一个结点(没有)前驱结点,其余每个结点有且只有(1)个前驱结点,最后一个结点(没有)后继结点,其余每个结点有且只有(1)个后继结点。
12.在树形结构中,树根结点没有(前驱)结点,其余每个结点有且只有(1)个前驱结点,叶子结点没有(后继)结点,其余每个结点的后继结点可以(任意多个)。
数据结构习题(包含全部答案解析).doc
![数据结构习题(包含全部答案解析).doc](https://img.taocdn.com/s3/m/6018effa83d049649b66588d.png)
数据结构习题集(自编)第一章绪论一、选择题1.数据结构是一门研究非数值计算的程序设计问题中的操作对象以及它们之间的()和运算的学科。
A.结构B.关系 C.运算 D.算法2.在数据结构中,从逻辑上可以把数据结构分成()。
A.动态结构和静态结构 B.紧凑结构和非紧凑结构C.线性结构和非线性结构 D.逻辑结构和存储结构3.线性表的逻辑顺序和存储顺序总是一致的,这种说法()。
A.正确B.不正确 C.无法确定 D.以上答案都不对4.算法分析的目的是()。
A.找出算法的合理性 B.研究算法的输人与输出关系C.分析算法的有效性以求改进 D.分析算法的易懂性5. 算法的时间复杂度取决于()A.问题的规模B待处理数据的初态 C. A和B6.一个算法应该是()。
A.程序B.问题求解步骤的描述C.要满足五个基本特性 D.A和C.7. 下面关于算法说法错误的是()A.算法最终必须由计算机程序实现B.为解决某问题的算法与为该问题编写的程序含义是相同的C. 算法的可行性是指指令不能有二义性D. 以上几个都是错误的8.以下与数据的存储结构无关的术语是()。
A.循环队列 B. 链表 C. 哈希表 D. 栈9.在下面的程序段中,对x的赋值语句的频度为()for(i=0;i<n;i++)for(j=0;j<n;j++)x=x+1;nA. 2n B.n C.n2 D.log210.以下数据结构中,()是非线性数据结构A.树 B.字符串 C.队列 D.栈11. 下列数据中,()是线性数据结构。
A.哈夫曼树 B.有向无环图 C. 二叉排序树 D. 栈12.以下属于逻辑结构的是()。
A.顺序表 B. 哈希表 C.有序表 D. 单链表二、填空题1、_______是信息的载体,是对客观事物的符号表示,它能够被计算机识别、存储、加工和处理,________是对能够有效的输人到计算机中并且能够被计算机处理的符号的总称。
(数据、数据)2、数据元素是数据的______,有些情况下也称为元素、结点、顶点、记录等。
(完整版) 《数据结构》教材课后习题+答案
![(完整版) 《数据结构》教材课后习题+答案](https://img.taocdn.com/s3/m/a10462b277232f60dccca154.png)
第1章绪论习题1.简述下列概念:数据、数据元素、数据项、数据对象、数据结构、逻辑结构、存储结构、抽象数据类型。
2.试举一个数据结构的例子,叙述其逻辑结构和存储结构两方面的含义和相互关系。
3.简述逻辑结构的四种基本关系并画出它们的关系图。
4.存储结构由哪两种基本的存储方法实现?5.选择题(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.树B.字符串C.队D.栈6.试分析下面各程序段的时间复杂度。
(1)x=90; y=100;while(y>0)if(x>100){x=x-10;y--;}else x++;(2)for (i=0; i<n; i++)for (j=0; j<m; j++)a[i][j]=0;(3)s=0;for i=0; i<n; i++)for(j=0; j<n; j++)s+=B[i][j];sum=s;(4)i=1;while(i<=n)i=i*3;(5)x=0;for(i=1; i<n; i++)for (j=1; j<=n-i; j++)x++;(6)x=n; //n>1y=0;while(x≥(y+1)* (y+1))y++;(1)O(1)(2)O(m*n)(3)O(n2)(4)O(log3n)(5)因为x++共执行了n-1+n-2+……+1= n(n-1)/2,所以执行时间为O(n2)(6)O(n)第2章线性表1.选择题(1)一个向量第一个元素的存储地址是100,每个元素的长度为2,则第5个元素的地址是()。
数据结构1-5章习题参考答案
![数据结构1-5章习题参考答案](https://img.taocdn.com/s3/m/6c931211a300a6c30d229f0d.png)
第1章绪论一、填空题01、【操作对象】【关系和运算】02、【数据元素】【关系】03、【逻辑结构】【存储结构】【运算】04、【线性结构】【非线性结构】05、【一对一】【一对多】【多对多】06、【没有】【没有】07、【前驱】【1】【后续】【任意多个】08、【任意多个】09、【顺序】【链式】【索引】【散列】10、【集合】【线性结构】【树形结构】【图状结构】11、【插入】【删除】【修改】【查找】【排序】12、【时间】【空间】13、【时间复杂度】【空间复杂度】14、【映射】15、【有穷性】【确定性】【可行性】16、【n+1】【n】【n(n+3)/2】【n(n+1)/2】17、【n(n+1)(n+2)/6】【O(n3)】18、【O(n2 log)】19、【O(nn2 log)】20、【O(22log n)】21、【(n+3)(n-2)/2】22、【n(n-1)/2】二、判断题01-05、×××√×06-10、×√×××11-12、√×三、单项选择题B01 BD02 A03 C04 C05A06 C07 B08 A09 C10B11 A12 C13 D14 A15C16四、分析下面各程序段的时间复杂度01、O(nm )02、O(2n)03、答:O(2n)04、答:O(n3 log)五、设有数据逻辑结构S=(D,R),试按各小题所给条件画出这些逻辑结构的图示,并确定相对于关系R,哪些结点是开始结点,哪些结点是终端结点?01、此图为线性结构d1→d2→d3→d4d1—无直接前驱,是首结点d4—无直接后继是尾结点02、此图为树形结构d1—无直接前驱,是根结点d2,d5,d7,d9—无直接后继是叶子结点03、此图为图形结构d1,d2—无直接前驱,是开始结点d6,d7—无直接后继是终端结点六、简述题01、什么是数据结构?答:数据结构是一门研究非数值计算的程序设计问题中计算机的操作对象以及它们之间的关系和运算等的学科。
数据结构课后习题答案
![数据结构课后习题答案](https://img.taocdn.com/s3/m/6ce0393159fb770bf78a6529647d27284b733795.png)
第1章绪论一、基础知识题1.1 简述下列概念数据,数据元素,数据类型,数据结构,逻辑结构,存储结构,算法。
【解答】数据是信息的载体,是描述客观事物的数、字符,以及所有能输入到计算机中并被计算机程序识别和处理的符号的集合。
数据元素是数据的基本单位。
在不同的条件下,数据元素又可称为元素、结点、顶点、记录等。
数据类型是对数据的取值范围、数据元素之间的结构以及允许施加操作的一种总体描述。
每一种计算机程序设计语言都定义有自己的数据类型。
“数据结构”这一术语有两种含义,一是作为一门课程的名称;二是作为一个科学的概念。
作为科学概念,目前尚无公认定义,一般认为,讨论数据结构要包括三个方面,一是数据的逻辑结构,二是数据的存储结构,三是对数据进行的操作(运算)。
而数据类型是值的集合和操作的集合,可以看作是已实现了的数据结构,后者是前者的一种简化情况。
数据的逻辑结构反映数据元素之间的逻辑关系(即数据元素之间的关联方式或“邻接关系”),数据的存储结构是数据结构在计算机中的表示,包括数据元素的表示及其关系的表示。
数据的运算是对数据定义的一组操作,运算是定义在逻辑结构上的,和存储结构无关,而运算的实现则依赖于存储结构。
数据结构在计算机中的表示称为物理结构,又称存储结构。
是逻辑结构在存储器中的映像,包括数据元素的表示和关系的表示。
逻辑结构与计算机无关。
算法是对特定问题求解步骤的一种描述,是指令的有限序列。
其中每一条指令表示一个或多个操作。
一个算法应该具有下列特性:有穷性、确定性、可行性、输入和输出。
1.2数据的逻辑结构分哪几种,为什么说逻辑结构是数据组织的主要方面?【解答】数据的逻辑结构分为线性结构和非线性结构。
(也可以分为集合、线性结构、树形结构和图形即网状结构)。
逻辑结构是数据组织的某种“本质性”的东西:(1)逻辑结构与数据元素本身的形式、内容无关。
(2)逻辑结构与数据元素的相对位置无关。
(3)逻辑结构与所含数据元素的个数无关。
数据结构第一章参考答案
![数据结构第一章参考答案](https://img.taocdn.com/s3/m/3f890a482b160b4e767fcfd9.png)
习题11.填空题(1)(___________)是指数据之间的相互关系,即数据的组织形式。
通常人们认为它包含三个方面的内容,分别为数据的(___________)、(___________)及其运算。
答案:数据结构逻辑结构存储结构(2)(___________)是数据的基本单位,在计算机程序中通常作为一个整体进行处理。
答案:数据元素(3)数据元素之间的不同逻辑关系代表不同的逻辑结构,常见的逻辑结构有(___________)、(___________)、(___________)和(___________)。
答案:集合线形结构树结构图结构(4)数据的存储结构考虑的是如何在计算机中存储各个数据元素,并且同时兼顾数据元素间的逻辑关系。
基本的存储结构通常有两大类:(___________)和(___________)。
答案:顺序存储结构链式存储结构(5)通常一个问题可以有多种不同的算法,但每个算法必须满足5个准则:输入、输出、(___________)、(___________)和(___________)。
答案:有穷性确定性可行性(6)通常通过衡量算法的(___________)复杂度和(___________)复杂度来判定一个算法的好坏。
答案:时间空间(7)常见时间复杂性的量级有:常数阶O(___________)、对数阶O(___________)、线性阶O(___________)、线性对数阶O(___________)、平方阶O(___________)、和指数阶O(___________)。
通常认为,当问题规模较大时,具有(___________)量级的算法是不可计算的。
答案:1 log n n n log n n2 2n指数(8)STL提供的标准容器有顺序容器、(___________)和(___________)。
答案:排序容器哈希容器(9)算法可认为是STL的精髓,所有算法都是采用(___________)的形式提供的。
《数据结构》(C语言版)第一章绪论习题及答案
![《数据结构》(C语言版)第一章绪论习题及答案](https://img.taocdn.com/s3/m/8f4209df7d1cfad6195f312b3169a4517723e585.png)
《数据结构》(C语言版)第一章绪论习题及答案一、单选题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、紧凑结构和非紧凑结构B、动态结构和静态结构C、线性结构和非线性结构D、内部结构和外部结构7、数据的逻辑结构是指 ______ 关系的整体。
A、数据项之间逻辑B、数据元素之间逻辑C、数据类型之间D、存储结构之间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、在决定选取任何类型的存储结构时,一般不多考虑 ______。
《数据结构》习题集答案:第1章 绪论
![《数据结构》习题集答案:第1章 绪论](https://img.taocdn.com/s3/m/695e370879563c1ec5da71ed.png)
第1章绪论参考答案一、选择题1、B,H2、A,B3、D,C4、C5、C,E6、A,B7、A8、D9、B10、A11、D二、填空题1、集合、线性、树型和图型,非线性2、集合、线性、树型、图形结构3、有穷性、确定性、可行性、输入和输出4、时间复杂度和空间复杂度5、一对一、一对多、多对多6、O(n)7、O(m*n)8、逻辑关系9、数据的逻辑结构、数据的存储结构、对数据施加的操作10、没有、一个11、一个、一个、后继、任意个12、任意个13、物理14、数据、数据元素、数据项15、结点、记录、元素、顶点16、顺序存储、链式存储、索引存储、散列存储17、正确性、可读性、健壮性、高效性18、时间复杂度、空间复杂度、计算量、存储量19、问题规模20、1、log2 n、n、n2、2n、不可行21、设计、实现22、数据元素23、数学模型1/2 北京理工大学珠海学院计算机学院“数据结构”课程组编制2011-3-1三、判断题1. ×2.√3.√4. ×5.√6.√7. ×8. ×四、计算题1.(1)n-2(2)n(n+1)/2(3)n2.O(n)O(n2)3.略4.略5.解答:数据是信息的载体,是描述客观事物的数、字符,以及所有能输入到计算机中并被计算机程序识别和处理的符号的集合。
数据元素是数据的基本单位。
在不同的条件下,数据元素又可称为元素、结点、顶点、记录等。
数据结构是指相互之间存在着一种或多种关系的数据元素的集合。
数据对象是性质相同的数据元素的集合。
6.解答:在数据结构中,逻辑结构与存储结构是密切相关的,存储结构不仅将数据元素存储到计算机中,而且还要表示各数据元素之间的逻辑关系。
逻辑结构与计算机无关,存储结构是数据元素及其之间的关系在计算机中的表示。
7.(2/ 3)n,210,log2n,√n ,n,n2/3,nlog2n,n2,n3,2n,n!2/2 北京理工大学珠海学院计算机学院“数据结构”课程组编制2011-3-1。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据结构第一章绪论习题
一、【单选题】
1. (A)是数据的基本单位。
A、数据元素B、数据对象C、数据项D、数据结构
2. (C)是数据的不可分割的最小单位。
A、数据元素B、数据对象C、数据项D、数据结构
3. 若采用非顺序映象,则数据元素在内存中占用的存储空间(C)。
A、一定连续B、一定不连续C、可连续可不连续
4. 若采用顺序映象,则数据元素在内存中占用的存储空间(A)。
A、一定连续B、一定不连续C、可连续可不连续
5. 在数据结构中,从逻辑上可以把数据结构分为(C)
A、动态结构和静态结构B、紧凑结构和非紧凑结构C、线性结构和非线性结构D、内部结构和外部结构
6. 在树形结构中,数据元素间存在(B)的关系。
A、一对一B、一对多C、多对多D、除同属一个集合外别无关系
7. 下列说法中错误的是(B)。
A、数据对象是数据的子集
B、数据元素间关系在计算机中的映象即为数据的存储结构
C、非顺序映象的特点是借助指示元素存储地址的指针来表示数据元素间逻辑关系
D、抽象数据类型指一个数学模型及定义在该模型上的一组操作
8. 计算机算法指的是(C)。
A、计算方法B、排序方法C、解决问题的有限运算序列D、调度方法
9. 下列不属算法特性的是(D)。
A、有穷性B、确定性C、零或多个输入D、健壮性
10.算法分析的目的是(C)。
A、找出数据结构的合理性B、研究算法中的输入和输出的关系C、分析算法的效率以求改进D、分析算法的易读性和文档性
11.算法分析的两个主要方面是(A)。
A、空间复杂性和时间复杂性B、正确性和简明性C、可读性和文档性D、数据复杂性和程序复杂性
12.算法的计算量的大小称为算法的(A)。
A、效率B、复杂性C、现实性D、难度
13.在下面的程序段中,对x的赋值语句的频度为(C)。
for(i=1;i<=n;++i)
for(j=1;j<=n;++j)
x=x+1;
A、2nB、nC、n2D、log2n
14.设n为正整数,则如下程序段中最后一行的语句频度在最坏情况下是(D)。
for(i=n-1;i>=1;--i)
for(j=1;j<=i;++j)
if(A[j]>A[j+1])
A[j]←→A[j+1];
A、nB、n(n-1)/2C、n(n+1)/2D、n2
二、填空题
1. 数据逻辑结构包括( 集合 )、( 线性结构 )、( 树形结构 )、( 图型结构 )四种类型,树型和图型结构合称( 非线性结构 )。
2. 对于给定的n 个元素,可以构造出的逻辑结构有(集合)、(线性结构)、(树形结构)和(图型结构)四种。
3. 算法的五个重要特性是(有穷性)、(确定性)、(可行性)、(输入)、(输出)。
4. 评价算法的性能从利用计算机资源角度看主要从(时间复杂度和空间复杂度)方面进行分析。
5. 线性结构中元素之间存在(一对一)关系,树型结构中元素之间存在(一对多)关系,图型结构中元素之间存在(多对多)关系。
6. 所谓数据的逻辑结构指的是数据元素之间的(逻辑关系)。
7. 在线性结构中,开始结点(没有)直接前驱结点,其余每个结点有且只有(一)个直接前驱结点。
8. 在树形结构中,根结点只有(一个),根结点无前驱,其余每个结点有且只有(一个)直接前驱结点;叶子结点没有(后继)结点,其余每个结点的后继结点可以(任意个)。
9. 在图形结构中,每个结点的前驱结点和后继结点可以有(任意个)。
10. 存储结构是逻辑结构的(物理)实现。
11. 一个算法的时空性能是指该算法的(时间复杂度)和(空间复杂度) 。
12. 在一般情况下,一个算法的时间复杂性是(问题规模)的函数。
三、算法设计题
1. 判断n 是否为一个素数,若是则返回逻辑值true ,否则返回逻辑值false ,并计算算法的时间复杂度。
Public boolean prime(int m){
boolean flag=true;
if(m==1)flag=false;
for(int i=2;i<=m-1;i++)
if(m%i==0) {
flag=false;
break;
}
return flag;
}
该算法的时间复杂度为O (
n )。
2. 计算∑=n i i 1
!的值,并计算算法的时间复杂度。
方法1:时间复杂度为O (nlogn )。
public class Test3 {
public static void main(String[] args) {
int sum = 0, fact, n, i ,j;
for ( j= 1; j <= n; j++) {
fact = 1;
for (i = 1; i <= j; i++)
fact *= i;
sum += fact;
}
System.out.println("sum=" + sum);
}
}
方法2:时间复杂度为O(n)。
public class Test3 {
public static void main(String[] args) {
int sum = 0, fact=1, n;
for (n = 1; n <= 10; n++) {
fact*=n;
sum+=fact;
}
System.out.println("sum=" + sum);
}
}
4. 求出满足不等式1+2+3+...+i≥n的最小i值,并计算算法的时间复杂度。
public static void max(){
int i=1;
int sum=0;
int n=5050;
for(i=1;sum<=n;i++){
sum+=i;
}
i--;
System.out.println(i+"");
}
时间复杂度为O(n)。
5. 打印出一个具有n行的乘法表,第i行(1≤i≤n)中有n-i+1个乘法项,每个乘法项为i与j(i≤j≤n)的乘积,并计算算法的时间复杂度。
public static void main(String[] args) {
// TODO Auto-generated method stub
int n = 9;
for (int i = 1; i <= n; i++) {
for (int j = i; j <= n; j++)
System.out.print(i + "*" + j +"="+ i * j+" ");
System.out.println();
}
}
时间复杂度为O(n2)。