最新数据结构第1章-答案汇编

合集下载

数据结构1-4章习题答案

数据结构1-4章习题答案

第1章概论习题参考解答一、填空题1、数据的逻辑结构是数据元素之间的逻辑关系,通常有下列4类:()、()、()、()。

【答】集合、线性结构、树型结构和图状结构。

2、数据的存储结构是数据在计算机存储器里的表示,主要有4种基本存储方法:()、()、()、()。

【答】顺序存储方法、链接存储方法、索引存储方法和散列存储方法。

二、选择题1、一个算法必须在执行有穷步之后结束,这是算法的()。

(A)正确性(B)有穷性(C)确定性(D)可行性【答】B。

2、算法的每一步,必须有确切的定义。

也就是说,对于每步需要执行的动作必须严格、清楚地给出规定。

这是算法的()。

(A)正确性(B)有穷性(C)确定性(D)可行性【答】C。

3、算法原则上都是能够由机器或人完成的。

整个算法好像是一个解决问题的“工作序列”,其中的每一步都是我们力所能及的一个动作。

这是算法的()。

(A)正确性(B)有穷性(C)确定性(D)可行性【答】D。

三、简答题1、算法与程序有何异同?【答】尽管算法的含义与程序非常相似,但两者还是有区别的。

首先,一个程序不一定满足有穷性,因此它不一定是算法。

例如,系统程序中的操作系统,只要整个系统不遭受破坏,它就永远不会停止,即使没有作业要处理,它仍处于等待循环中,以待一个新作业的进入。

因此操作系统就不是一个算法。

其次,程序中的指令必须是计算机可以执行的,而算法中的指令却无此限止。

如果一个算法采用机器可执行的语言来书写,那么它就是一个程序。

2、什么是数据结构?试举一个简单的例子说明。

【答】数据结构是指数据对象以及该数据对象集合中的数据元素之间的相互关系(即数据元素的组织形式)。

例如,队列的逻辑结构是线性表(先进先出);队列在计算机中既可以采用顺序存储也可以采用链式存储;对队列可进行删除、插入数据元素以及判断是否为空队列、将队列置空等操作。

3、什么是数据的逻辑结构?什么是数据的存储结构?【答】数据元素之间的逻辑关系,也称为数据的逻辑结构。

最新版《数据结构》各章习题及答案

最新版《数据结构》各章习题及答案

最新版《数据结构》各章习题及答案第一章绪论一、选择题1.组成数据的基本单位是()(A)数据项(B)数据类型(C)数据元素(D)数据变量2.数据结构是研究数据的()以及它们之间的相互关系。

(A)理想结构,物理结构(B)理想结构,抽象结构(C)物理结构,逻辑结构(D)抽象结构,逻辑结构3.在数据结构中,从逻辑上可以把数据结构分成()(A)动态结构和静态结构(B)紧凑结构和非紧凑结构(C)线性结构和非线性结构(D)内部结构和外部结构4.数据结构是一门研究非数值计算的程序设计问题中计算机的(①)以及它们之间的(②)和运算等的学科。

① (A)数据元素(B)计算方法(C)逻辑存储(D)数据映像② (A)结构(B)关系(C)运算(D)算法5.算法分析的目的是()。

(A)找出数据结构的合理性(B)研究算法中的输入和输出的关系(C)分析算法的效率以求改进(D)分析算法的易懂性和文档性6.计算机算法指的是(①),它必须具备输入、输出和(②)等5 个特性。

① (A)计算方法(B)排序方法(C)解决问题的有限运算序列(D)调度方法② (A)可执行性、可移植性和可扩充性(B)可行性、确定性和有穷性(C)确定性、有穷性和稳定性(D)易读性、稳定性和安全性二、判断题1.数据的机内表示称为数据的存储结构。

()2.算法就是程序。

()3.数据元素是数据的最小单位。

()4.算法的五个特性为:有穷性、输入、输出、完成性和确定性。

()5.算法的时间复杂度取决于问题的规模和待处理数据的初态。

()三、填空题1.数据逻辑结构包括________、________、_________ 和__________ 四种类型,其中树形结构和图形结构合称为_____ 。

2.在线性结构中,第一个结点____前驱结点,其余每个结点有且只有______ 个前驱结点;最后一个结点______后续结点,其余每个结点有且只有 _______ 个后续结点。

3.在树形结构中,树根结点没有_______ 结点,其余每个结点有且只有_______个前驱结点;叶子结点没有 ________ 结点,其余每个结点的后续结点可以_________。

数据结构第1章习题兼解答

数据结构第1章习题兼解答

1. 填空(1)()是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。

【解答】数据元素(2)()是数据的最小单位,()是讨论数据结构时涉及的最小数据单位。

【解答】数据项,数据元素【分析】数据结构指的是数据元素以及数据元素之间的关系。

(3)从逻辑关系上讲,数据结构主要分为()、()、()和()。

【解答】集合,线性结构,树结构,图结构(4)数据的存储结构主要有()和()两种基本方法,不论哪种存储结构,都要存储两方面的内容:()和()。

【解答】顺序存储结构,链接存储结构,数据元素,数据元素之间的关系(5)算法具有五个特性,分别是()、()、()、()、()。

【解答】有零个或多个输入,有一个或多个输出,有穷性,确定性,可行性(6)在一般情况下,一个算法的时间复杂度是()的函数。

【解答】问题规模(7)设待处理问题的规模为n,若一个算法的时间复杂度为一个常数,则表示成数量级的形式为(),若为n*log25n,则表示成数量级的形式为()。

【解答】Ο(1),Ο(nlog2n)【分析】用大O记号表示算法的时间复杂度,需要将低次幂去掉,将最高次幂的系数去掉。

2. 选择题⑴顺序存储结构中数据元素之间的逻辑关系是由()表示的,链接存储结构中的数据元素之间的逻辑关系是由()表示的。

A 线性结构B 非线性结构C 存储位置D 指针【解答】C,D【分析】顺序存储结构就是用一维数组存储数据结构中的数据元素,其逻辑关系由存储位置(即元素在数组中的下标)表示;链接存储结构中一个数据元素对应链表中的一个结点,元素之间的逻辑关系由结点中的指针表示。

⑵假设有如下遗产继承规则:丈夫和妻子可以相互继承遗产;子女可以继承父亲或母亲的遗产;子女间不能相互继承。

则表示该遗产继承关系的最合适的数据结构应该是()。

A 树B 图C 线性表D 集合【解答】B【分析】将丈夫、妻子和子女分别作为数据元素,根据题意画出逻辑结构图。

⑶算法指的是()。

数据结构第一章答案

数据结构第一章答案

习题一1.1有下列几种用二元组表示的数据结构,试画出它们分别对应的图形表示(当出现多个关系时,对每个关系画出相应的结构图),并指出它们分别属于何种结构。

1.A=(K,R) 其中K={a1,a2,a3,…,a n}R={}2.B=(K,R),其中K={a,b,c,d,e,f,g,h}R={<a,b>,<b,c>,<c,d>,<d,e>,<e,f>,<f,g>,<g,h>}3.C=(K,R),其中K={a,b,c,d,e,f,g,h}R={<d,b>,<d,g>,<b,a>,<b,c>,<g,e>,<g,h>,<e,f>}4.D=(K,R),其中K={1,2,3,4,5,6}R={(1,2),(2,3),(2,4),(3,4),(3,5),(3,6),(4,5),(4,6)} 5.E=(K,R),其中K={48,25,64,57,82,36,75,43}R={r1,r2,r3}r1={<48,25>,<25,64>,<64,57>,<57,82>,<82,36>,<36,75>,<75,43>}r2={<48,25>,<48,64>,<64,57>,<64,82>,<25,36>,<82,75>,<36,43>}r3={<25,36>,<36,43>,<43,48>,<48,57>,<57,64>,<64,75>,<75,82>} 解:⑴是集合结构;⑵是线性结构;⑶⑷是树型结构;⑸散列结构1.2用C语言函数编写下列每一个算法,并分别求出它们的时间复杂度。

数据结构第一章考试题库(含答案)

数据结构第一章考试题库(含答案)

数据结构第一章考试题库(含答案)数据结构第一章考试题库(含答案)一、选择题1. 以下哪种数据结构是先进先出(FIFO)的?A. 栈B. 队列C. 链表D. 哈希表答案:B2. 在队列中,元素的插入操作称为什么?A. EnqueueB. DequeueC. PushD. Pop答案:A3. 哪种数据结构是一种不允许重复元素的集合?A. 栈B. 队列C. 链表D. 集合答案:D4. 以下哪种数据结构是后进先出(LIFO)的?A. 栈B. 队列C. 链表D. 哈希表答案:A5. 使用链表实现的栈或队列的时间复杂度是多少?A. O(1)B. O(n)C. O(log n)D. O(n^2)答案:A二、填空题1. 广度优先搜索(BFS)使用的数据结构是______。

答案:队列2. 深度优先搜索(DFS)使用的数据结构是______。

答案:栈3. 在二叉树中,每个节点最多有几个子节点?答案:24. 快速排序使用的分治策略是将数组分成几个子数组进行排序?答案:25. 哈希表的平均查找时间复杂度是多少?答案:O(1)三、简答题1. 请简要解释栈和队列的区别。

答案:栈是一种后进先出(LIFO)的数据结构,只能在栈顶进行插入和删除操作;队列是一种先进先出(FIFO)的数据结构,只能在队尾插入,在队头删除。

2. 请解释什么是链表。

答案:链表是一种动态数据结构,由一系列节点组成,每个节点包含数据和指向下一个节点的指针。

与数组不同,链表的节点在内存中可以不连续存储,通过指针来链接每个节点。

3. 请简述快速排序的思想和算法步骤。

答案:快速排序使用分治的思想,首先选择一个元素作为基准值,然后将数组划分为两个子数组,小于基准值的元素放在左侧,大于基准值的元素放在右侧。

然后对左右子数组递归地进行快速排序,直到排序完成。

4. 请解释什么是哈希表及其应用场景。

答案:哈希表是一种基于哈希函数进行查找的数据结构,通过将关键字映射到哈希表中的位置来实现高效的查找。

数据结构第1章作业参考答案

数据结构第1章作业参考答案

第一章概述一、单项选择题1.数据结构是(C )。

A. 一种数据类型B. 数据的存储结构C. 相互之间存在一种或多种特定关系的数据元素的集合D. 一组性质相同的数据元素的集合2.数据元素及其关系在计算机存储器内的表示,称为数据的(D )。

A. 线性结构B. 非线性结构C. 逻辑结构D. 存储结构3.在数据结构中,数据的逻辑结构可以分成(C )。

A. 内部结构和外部结构B. 紧凑结构和非紧揍结构C. 线性结构和非线性结构D. 动态结构和静态结构4.计算机算法指的是(C )。

A. 计算方法B. 排序方法C. 解决问题的步骤序列D. 调度方法5.一个算法是(c )。

A. 程序B. 要满足五个基本特性C. 具体问题求解步骤的描述D. A和C6.算法必须具备(B)这3个特性。

A. 可执行性、可移植性、可扩充性B. 可行性、确定性、有穷性C. 确定性、有穷性、稳定性D. 易读性、稳定性、安全性7.下面关于算法的叙述中错误的是(A )。

A. 一个算法应有一个或多个输入B. 算法最终必须由计算机程序实现C. 为解决某问题的算法同为该问题编写的程序含义是相同的D. 算法中的每条指令都必须有明确的含义8.若一个算法的时间复杂度用T(n)表示,其中n的含义是( C )。

A. 循环层数B. 语句条数C. 问题规模D. 函数数量9.下面说法正确的是(A)。

A. 健壮的算法不会因非法的数据输入而出现莫名其妙的状态B. 程序一定是算法C. 算法的时间复杂度只依赖于问题的规模D. 算法的优劣与算法描述语言无关,但与所用计算机有关D. 一组性质相同的数据元素的集合10.算法与程序的主要区别在于算法的( B )A.可行性 B.有穷性 C.确定性 D.有输入输出11.算法分析的两个主要方面是( A )。

A.空间复杂性和时间复杂性 B.正确性和简明性C.可读性和文档性 D.数据复杂性和程度复杂性12.以下数据结构中哪一个是非线性结构?( D )A. 队列B. 栈C. 线性表D. 二叉树13.以下数据结构中哪一个是线性结构?( A )A. 队列B.二叉树C. 图D. 集合二、判断题1.数据的逻辑结构是指数据的各数据项之间的逻辑关系。

数据结构第1章习题参考答案

数据结构第1章习题参考答案

习题知识点:数据结构的概念一、选择题1① 数据结构一般是研究数据的( A )及它们之间的彼此联系。

A.存储和逻辑结构B.存储结构C.顺序结构D.链式存储结构2① 数据在计算机存储器内表示时,物理地址与逻辑地址相同而且是持续的,称之为( C )A.存储结构B.逻辑结构C.顺序存储结构D.链式存储结构3① 线性结构是数据元素之间存在一种(D )。

A.一对多关系 B. 多对多关系 C 多对一关系D 一对一关系4① 计算机内部数据处置的大体单位是( B )。

A. 数据B.数据元素 C.数据项D.数据库5② 从逻辑上可以把数据结构分为(C )两大类。

【武汉交通科技大学1996】A.动态结构、静态结构B.顺序结构、链式结构C.线性结构、非线性结构D.初等结构、构造型结构二、填空题1① 数据结构按逻辑结构可分为四大类,它们别离是集合、线性、树、图。

2① 数据的存储结构可用四种大体的存储方式表示,它们别离是顺序、链式、散列、索引。

三、判断题(F)1① 数据元素是数据的最小单位。

(T )2① 记录是数据处置的最小单位。

(F )3① 数据的逻辑结构是指数据的各数据项之间的逻辑关系。

(T )4① 数据的物理结构是指数据在计算机内的实际存储形式。

四、简答题1① 简述什么是数据结构?2② 数据结构与数据类型有什么区别? 【哈尔滨工业大学2021】知识点:算法的概念一、选择题1① 计算机算法指的是(C )A.计算方式B.排序方式C.解决问题的有限运算序列D.调度方式2① 算法分析的目的是((1)C ),算法分析的两个主要方面((2)A ).(1)A.找出数据结构的合理性B.研究算法中的输入与输出的关系C.分析算法的效率以求改良D.分析算法的易查性和文档性(2)A.空间复杂度和时间复杂度B.正确性和简明性C.可读性和文档性D.数据复杂性和程序复杂性3② 设语句X++的时间是单位时间,则语句:for(i=1;i<=n;i++)x++;时间复杂度为(C )。

第1章到第6章数据结构答案

第1章到第6章数据结构答案

第一章绪论一、选择题1D 2.C 3 D 4 D 5 D二、判断题1 F2 T3 F4 F5 F三、填空题1、表示(映象)2、间复杂度和空间复杂度3、辑结构物理结构操作算法4、有穷性确定性可行性5、n+1 n n(n+3)/2 n(n+1)/26、1+(1+2)+(1+2+3)+…+(1+2+…+n)=n(n+1)(n+2)/6 O(n3)7、log2n 8、nlog2n四、应用题常见的时间复杂度按数量级递增排列,依次为:常数阶0(1)、对数阶0(log2n)、线性阶0(n)、线性对数阶0(nlog2n)、平方阶0(n2)、立方阶0(n3)、k次方阶0(nk)、指数阶0(2n)。

先将题中的函数分成如下几类:常数阶:2100对数阶:lgnK次方阶:n0.5、n(3/2)指数阶 (按指数由小到大排):nlgn、(3/2)n、2n、 n!、 n n注意:(2/3)^n由于底数小于1,所以是一个递减函数,其数量级应小于常数阶。

根据以上分析按增长率由小至大的顺序可排列如下:(2/3)n < 2100 < lgn < n0.5 < n(3/2) < n lgn < (3/2)n < 2n < n! < n n第2章线性表一、选择题1 B2 A3 D4 D5 C6 A7 D8 B9 B二、判断题1 F2 T3 F4 F5 T三、填空题1、(n-1)/22、 py->next=px->next px->next = py3、O(1) O(n)4、物理上相邻指针5、L->next = L L->prior = L6、P!=null q7、(1)pa!=ha ∥或pa->exp!=-1(2)pa->exp==0 ∥若指数为0,即本项为常数项(3)q->next=pa->next ∥删常数项(4)q->next ∥取下一元素(5)=pa->coef*pa->exp(6)-- ∥指数项减1(7)pa ∥前驱后移,或q->next(8)pa->next ∥取下一元素四、算法设计1、[题目分析]因为两链表已按元素值递增次序排列,将其合并时,均从第一个结点起进行比较,将小的链入链表中,同时后移链表工作指针。

数据结构 第1章答案(已核)

数据结构 第1章答案(已核)

1.6 习题一、名词解释1.数据结构:相互之间存在一种或多种特定关系的数据元素的集合。

结构,就是数据之间的关系,即数据与数据之间的排列方式。

2.数据元素:是有一定意义数据的基本单位,可由若干个数据项组成,在计算机中通常作为整体处理,也可称为结点、记录。

如:在人类社会中,一个“人”是一个数据元素,是有一定意义的作为整体处理的基本单位,在社会关系里,一般都是拿某个人说事儿,不会拿某个人的胳膊或腿儿说事儿;但在医学结构上,人又由若干部分组成,比如四肢、心、肝、脾、肺、肾等。

3.数据项:是具有独立含义的最小标识单位。

如一个“人”有眼睛、耳朵、手等数据项,也可有姓名、年龄、性别等这些数据项。

一个记录可称为一个数据元素,而这个元素中的某一字段就是一个数据项。

4.逻辑结构有时也称数据结构,它是数据元素之间关系的描述,可以看作是从具体问题抽象出来的数学模型,与数据的存储无关,是独立于计算机的。

5.物理结构是数据的逻辑结构在计算机中的表示和实现,也称存储结构。

6.时间复杂度:当问题规模很大时,程序执行时间随问题规模增长程度的一个度量。

7.空间复杂度:是指程序运行从开始到结束所需的存储量。

二、判断题(1)数据元素是最小的项。

(×)(2)算法就是程序。

(×)(算法是解决问题的有限指令序列,它可以用某个具体的程序来表示,也可以用自然语言、流程图、伪代码表示。

即可以用程序来表达算法,但算法不见得就是程序。

目前,用来表达算法用得最多的是伪代码,因为伪代码比具体的程序要求宽松、易理解,同时又比自然语言更容易转换成可实现的程序。

)(3)数据结构是数据对象与对象中数据元素之间关系的集合。

(√)(4) 从逻辑关系上讲,数据结构主要分为两大类:线性结构和非线性结构。

(√ )(5) 数据的逻辑结构与数据元素本身的内容和形式无关。

(√ )三、填空题(1)算法的一个特性是确定性,即针对一组确定的输入,算法应始终得出一组确定的结果。

数据结构1-5章习题参考答案

数据结构1-5章习题参考答案

第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、什么是数据结构?答:数据结构是一门研究非数值计算的程序设计问题中计算机的操作对象以及它们之间的关系和运算等的学科。

数据结构第1章答案

数据结构第1章答案

一、填空题01、数据结构是一门研究非数值计算的程序设计问题中计算机的(操作对象)以及它们之间的(关系和运算)等的学科。

02、数据结构被形式地定义为(D,R),其中D是(数据元素)的有限集合,R是D上的(关系)有限集合。

03、数据结构包括数据的(逻辑结构)、数据的(存储结构)和数据的(运算)这三个方面的内容。

04、数据结构按逻辑结构可分为两大类,它们分别是(线性结构)和(非线性结构)。

05、线性结构中元素之间存在(一对一)关系,树形结构中元素之间存在(一对多)关系,图形结构中元素之间存在(多对多)关系。

06、在线性结构中,第一个结点(没有)前驱结点,其余每个结点有且只有1个前驱结点;最后一个结点(没有)后续结点,其余每个结点有且只有1个后续结点。

07、在树形结构中,树根结点没有(前驱)结点,其余每个结点有且只有(1)个前驱结点;叶子结点没有(后续)结点,其余每个结点的后续结点数可以(任意多个)。

08、在图形结构中,每个结点的前驱结点数和后续结点数可以(任意多个)。

09、数据的存储结构可用四种基本的存储方法表示,它们分别是(顺序)、(链式)、(索引)、(散列)。

10、对于给定的n个元素,可以构造出的逻辑结构有(集合)、(线性结构)、(树形结构)、(图状结构)四种。

11、数据的运算最常用的有5种,它们分别是(插入)、(删除)、(修改)、(查找)、(排序)。

12、一个算法的效率可分为(时间)效率和(空间)效率。

13、数据结构中评价算法的两个重要指标是算法的(时间复杂度)和(空间复杂度)。

14、一个数据结构在计算机中的(映射)称为存储结构。

15、算法的五个重要特性是(有穷性)、(确定性)、(可行性)、输入、输出。

16、已知如下程序段for (i=n; i>=1; i--) //语句1{ x++; //语句2for (j=n; j>=i; j--) //语句3y++; //语句4}语句 1 执行的频度为(n+1);语句2执行的频度为(n);语句3执行的频度为(n(n+3)/2);语句4执行的频度为(n(n+1)/2)。

考研数据结构 第一章答案

考研数据结构 第一章答案

第1章绪论答案二、判断题三.填空题1.数据元素数据元素间关系 2.集合线性结构树形结构图状结构或网状结构。

3.数据的组织形式,即数据元素之间逻辑关系的总体。

而逻辑关系是指数据元素之间的关联方式或称“邻接关系”。

4.表示(又称映像)。

5.(1)逻辑特性(2)在计算机内部如何表示和实现(3)数学特性。

6.算法的时间复杂度和空间复杂度。

7.(1)逻辑结构(2)物理结构(3)操作(运算)(4)算法。

8.(1)有穷性(2)确定性(3)可行性。

9.(1)n+1 (2)n (3)n(n+3)/2 (4)n(n+1)/2。

10.1+(1+2++(1+2+3)+…+(1+2+…+n)=n(n+1)(n+2)/6 O(n3)11. log2n 12. nlog2n 13. log2n2 14. (n+3)(n-2)/2 15. O(n)16.① (1)1 (2)1 (3)f(m,n-1) (4)n ② 9 17. n(n-1)/2四.应用题1.数据结构是一门研究在非数值计算的程序设计问题中,计算机的操作对象及对象间的关系和施加于对象的操作等的学科。

2.四种表示方法(1)顺序存储方式。

数据元素顺序存放,每个存储结点只含一个元素。

存储位置反映数据元素间的逻辑关系。

存储密度大,但有些操作(如插入、删除)效率较差。

(2)链式存储方式。

每个存储结点除包含数据元素信息外还包含一组(至少一个)指针。

指针反映数据元素间的逻辑关系。

这种方式不要求存储空间连续,便于动态操作(如插入、删除等),但存储空间开销大(用于指针),另外不能折半查找等。

(3)索引存储方式。

除数据元素存储在一地址连续的内存空间外,尚需建立一个索引表,索引表中索引指示存储结点的存储位置(下标)或存储区间端点(下标),兼有静态和动态特性。

(4)散列存储方式。

通过散列函数和解决冲突的方法,将关键字散列在连续的有限的地址空间内,并将散列函数的值解释成关键字所在元素的存储地址,这种存储方式称为散列存储。

(完整版) 《数据结构》教材课后习题+答案

(完整版) 《数据结构》教材课后习题+答案

第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答案

数据结构第一章概论1答案

第一章概论自测题答案一、填空题1. 数据结构被形式地定义为(D, R),其中D是数据元素的有限集合,R是D上的关系有限集合。

2. 数据结构包括数据的逻辑结构、数据的存储结构和数据的运算这三个方面的内容。

3. 数据结构按逻辑结构可分为两大类,它们分别是线性结构和非线性结构。

4. 线性结构中元素之间存在一对一关系,树形结构中元素之间存在一对多关系,图形结构中元素之间存在多对多关系。

5.在线性结构中,第一个结点没有前驱结点,其余每个结点有且只有1个前驱结点;最后一个结点没有后续结点,其余每个结点有且只有1个后续结点。

6. 在树形结构中,树根结点没有前驱结点,其余每个结点有且只有1个前驱结点;叶子结点没有后续结点,其余每个结点的后续结点数可以任意多个。

7. 在图形结构中,每个结点的前驱结点数和后续结点数可以任意多个。

8.数据的存储结构可用四种基本的存储方法表示,它们分别是顺序、链式、索引和散列。

9. 数据的运算最常用的有5种,它们分别是插入、删除、修改、查找、排序。

10. 一个算法的效率可分为时间效率和空间效率。

11.任何一个C程序都由一个主函数和若干个被调用的其它函数组成。

二、单项选择题(B)1. 非线性结构是数据元素之间存在一种:A)一对多关系B)多对多关系C)多对一关系D)一对一关系( C )2. 数据结构中,与所使用的计算机无关的是数据的结构;A) 存储B) 物理C) 逻辑D) 物理和存储(C)3. 算法分析的目的是:A) 找出数据结构的合理性B) 研究算法中的输入和输出的关系C) 分析算法的效率以求改进D) 分析算法的易懂性和文档性(A)4. 算法分析的两个主要方面是:A) 空间复杂性和时间复杂性B) 正确性和简明性C) 可读性和文档性D) 数据复杂性和程序复杂性( C )5. 计算机算法指的是:A) 计算方法B) 排序方法C) 解决问题的有限运算序列D) 调度方法(B)6. 计算机算法必须具备输入、输出和等5个特性。

数据结构第一章习题答案

数据结构第一章习题答案

题1.7 实现输入和输出的三种方式:
(1) 直接和外部环境进行信息交换,复用性 较差,一般仅用在人机对话的用户界面中; (2) 和调用环境进行信息交换,安全性好, 使模块内部出现的错误不外传,进行模块测 试时,只要保证本模块从入口到出口的结果 正确即可。 (3) 交换方式同(2),但不安全,容易出现各 模块的错误滚动传递。
• 1.12 设有以下三个函数:
• f(n)=21n4+n2+1000,g(n)=15n4+500n3,h(n)=50 00n 3.5+nlogn
• 请判断以下断言正确与否: • (1) f(n)是O(g(n) ) 正确 • (2) h(n) 是O(f(n) ) 错误 • (3) g(n) 是O(h(n)) 错误 • (4) h(n) 是O(n 3.5) 正确 • (5) h(n) 是O(nlogn) 错误
• 数据:指能够被计算机识别、存储和加工处理的 信息载体。
• 数据元素:就是数据的基本单位,在某些情况下, 数据元素也称为元素、结点、顶点、记录。数据 元素有时可以由若干数据项组成。
• 数据类型:是一个值的集合以及在这些值上定义 的一组操作的总称。
• 数据结构:指的是数据之间的相互关系,即数据 的组织形式。一般包括三个方面的内容:数据的逻 辑结构、存储结构和数据的运算。
题1.8 学会系统分析的方法
(5) for( i=1; i<=n; i++)
for (j=1; j<=i; j++)
for (k=1; k<=j; k++)
语句频度
=
ni j
1
ni

j

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

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

第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 章习题答案5.若有两个基准测试程序P1和P2在机器M1和M2上运行,假定M1和M2的价格分别是5000元和8000元,下表给出了P1和P2在M1和M2上所花的时间和指令条数。

M1M2程序指令条数执行时间(ms)指令条数执行时间(ms) P1200×10610000150×1065000P2300×1033420×1036请回答下列问题:(1)对于P1,哪台机器的速度快?快多少?对于P2呢?(2)在M1上执行P1和P2的速度分别是多少MIPS?在M2上的执行速度又各是多少?从执行速度来看,对于P2,哪台机器的速度快?快多少?(3)假定M1和M2的时钟频率各是800MHz和1.2GHz,则在M1和M2上执行P1时的平均时钟周期数CPI各是多少?(4)如果某个用户需要大量使用程序P1,并且该用户主要关心系统的响应时间而不是吞吐率,那么,该用户需要大批购进机器时,应该选择M1还是M2?为什么?(提示:从性价比上考虑)(5)如果另一个用户也需要购进大批机器,但该用户使用P1和P2一样多,主要关心的也是响应时间,那么,应该选择M1还是M2?为什么?参考答案:(1)对于P1,M2比M1快一倍;对于P2,M1比M2快一倍。

(2)对于M1,P1的速度为:200M/10=20MIPS;P2为300k/0.003=100MIPS。

对于M2,P1的速度为:150M/5=30MIPS;P2为420k/0.006=70MIPS。

从执行速度来看,对于P2,因为100/70=1.43倍,所以M1比M2快0.43倍。

(3)在M1上执行P1时的平均时钟周期数CPI为:10×800M/(200×106)=40。

在M2上执行P1时的平均时钟周期数CPI为:5×1.2G/(150×106)=40。

(4)考虑运行P1时M1和M2的性价比,因为该用户主要关心系统的响应时间,所以性价比中的性能应考虑执行时间,其性能为执行时间的倒数。

数据结构第一章参考答案

数据结构第一章参考答案

习题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的精髓,所有算法都是采用(___________)的形式提供的。

数据结构习题答案1

数据结构习题答案1
第一章 答案 一.填空题 1. 操作对象 关系;2.符号的总称;3.基本单位;4.数据元素;5.数据元素 关系; 6.线性结构和非线性结构;7.对象 关系 操作;8.时间效率和空间效率。 二.单项选择题 1.B 2.C.3.C.4.A.5.C.6.B. 三.简答题。 .(1) 集合结构 关系集合为空。 (2)线性结构 d1->d2->d3->d4 (3)树结构 略 (4)图结构 略 四.a.违反有限性 b。违反可行性(有效性) 五. (1)rowsa*colsb*colsa.若均为方阵,则为 n^3
void ascend2(int a,int b,int c) //这是同学们常见的错误 //表面看是排序函数,算法无错误,但并不能改变外部变量的值 { int temp; if (a>b) { temp=a;a=b;b=temp; } if (b>c) { temp=b;b=c,c=temp; } if (a>b) { temp=a;a=b;b=temp; } } 如下引用调用函数正确: void ascend3(int &a,int &b,int &c) //引用调用可以改变外部的值 { int temp; if (a>b) { temp=a;a=b;b=temp; } if (b>c) { temp=b;b=c,c=temp; } if (a>b) { temp=a;a=b;b=temp; } }
(2)第二层循环for(j=1; j<=i; j++) 第三层循环for(k=1; k<=j; k++) 第一层循环for(i=1; i<=n; i++)
1 j
i 1 j 1 k 1 i 1 j 1
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、填空题01、数据结构是一门研究非数值计算的程序设计问题中计算机的(操作对象)以及它们之间的(关系和运算)等的学科。

02、数据结构被形式地定义为(D,R),其中D是(数据元素)的有限集合,R是D上的(关系)有限集合。

03、数据结构包括数据的(逻辑结构)、数据的(存储结构)和数据的(运算)这三个方面的内容。

04、数据结构按逻辑结构可分为两大类,它们分别是(线性结构)和(非线性结构)。

05、线性结构中元素之间存在(一对一)关系,树形结构中元素之间存在(一对多)关系,图形结构中元素之间存在(多对多)关系。

06、在线性结构中,第一个结点(没有)前驱结点,其余每个结点有且只有1个前驱结点;最后一个结点(没有)后续结点,其余每个结点有且只有1个后续结点。

07、在树形结构中,树根结点没有(前驱)结点,其余每个结点有且只有(1)个前驱结点;叶子结点没有(后续)结点,其余每个结点的后续结点数可以(任意多个)。

08、在图形结构中,每个结点的前驱结点数和后续结点数可以(任意多个)。

09、数据的存储结构可用四种基本的存储方法表示,它们分别是(顺序)、(链式)、(索引)、(散列)。

10、对于给定的n个元素,可以构造出的逻辑结构有(集合)、(线性结构)、(树形结构)、(图状结构)四种。

11、数据的运算最常用的有5种,它们分别是(插入)、(删除)、(修改)、(查找)、(排序)。

12、一个算法的效率可分为(时间)效率和(空间)效率。

13、数据结构中评价算法的两个重要指标是算法的(时间复杂度)和(空间复杂度)。

14、一个数据结构在计算机中的(映射)称为存储结构。

15、算法的五个重要特性是(有穷性)、(确定性)、(可行性)、输入、输出。

16、已知如下程序段for (i=n; i>=1; i--) //语句1{ x++; //语句2for (j=n; j>=i; j--) //语句3y++; //语句4}语句 1 执行的频度为(n+1);语句2执行的频度为(n);语句3执行的频度为(n(n+3)/2);语句4执行的频度为(n(n+1)/2)。

17、在下面的程序段中,对x的赋值语句的频度为(n(n+1)(n+2)/6)。

for(i=1; i<=n; i++)for(j=1; j<=i; j++)for(k=1; k<=j; k++)x+=y;解释:1+(1+2++(1+2+3)+…+(1+2+…+n)=n(n+1)(n+2)/6 O(n3)18、下面程序段中带下划线的语句的执行次数的数量级是(O(n2 log))i=1;while(i<n) i=i*2;19、下面程序段中带下划线的语句的执行次数的数量级是(O(nn2log))。

i=1;while (i<n){ for(j=1; j<=n; j++) { x=x+1;i=i*2; }}20、下面程序段中带有下划线的语句的执行次数的数量级是(O(22log n) )。

i=n*n;while(i!=1)i=i/2;21、计算机执行下面的语句时,“语句s”的执行次数为((n+3)(n-2)/2)。

for(i=1; i<n-1; i++)语句s;22、在有n个选手参加的单循环赛中,总共将进行(n(n-1)/2)场比赛。

二、判断题×01、数据元素是数据的最小单位。

×02、数据的逻辑结构是指数据的各数据项之间的逻辑关系。

×03、算法的优劣与算法描述语言无关,但与所用计算机有关。

√04、健壮的算法不会因非法的输入数据而出现莫名其妙的状态。

×05、算法可以用不同的语言描述,则算法实际上就是程序了。

×06、程序一定是算法。

√07、数据的物理结构是指数据在计算机内的实际存储形式。

×08、数据结构的抽象操作的定义与具体实现有关。

×09、在顺序存储结构中,有时也存储数据结构中元素之间的关系。

×10、顺序存储方式的优点是存储密度大,且插入、删除运算效率高。

√11、数据结构的基本操作的设置的最重要的准则是,实现应用程序与存储结构的独立。

×12、数据的逻辑结构说明数据元素之间的顺序关系,它依赖于计算机的储存结构。

三、单项选择题B01、数据结构是一门研究非数值计算的程序设计问题中计算机的操作对象以及它们之间的__和运算等的学科。

A) 结构B) 关系C) 运算D) 算法BD02、数据的逻辑结构被形式地定义为B=(K,R),其中K是__的有限集合,R是K上的__有限集合。

第1空的选项:A) 算法 B) 数据元素 C) 数据操作 D) 逻辑结构第2空的选项:A) 操作 B) 映像 C) 存储 D) 关系A03、数据结构在计算机内存中的表示是指__。

A) 数据的存储结构B) 数据结构C) 数据的逻辑结构D) 数据元素之间的关系C04、数据结构中,与所使用的计算机无关的是数据的__结构。

A) 存储 B) 物理 C) 逻辑 D) 物理和存储C05、算法分析的目的是__。

A) 找出数据结构的合理性B) 研究算法中的输入和输出的关系C) 分析算法的效率以求改进D) 分析算法的易懂性和文档性A06、算法分析的两个主要方面是__。

A) 空间复杂性和时间复杂性B) 正确性和简明性C) 可读性和文档性D) 数据复杂性和程序复杂性C07、计算机算法指的是__。

A) 计算方法B) 排序方法C) 解决问题的有限运算序列D) 调度方法B08、计算机算法必须具备输入、输出和__等5个特性。

A) 可行性、可移植性和可扩充性B) 可行性、确定性和有穷性D) 易读性、稳定性和安全性A09、在决定选取何种存储结构时,一般不考虑__。

A) 各结点的值如何B) 结构个数的多少C) 对数据有哪些运算D) 所用编程语言实现这种结构是否方便C10、在存储数据时,通常不仅要存储各数据元素的值,而还要存储__。

A) 数据的处理方法B) 数据元素的类型C) 数据元素之间的关系D) 数据的存储方法B11、算法的计算量的大小称为计算的__。

A) 效率 B) 复杂性 C) 现实性 D) 难度A12、下面说法错误的是__。

(1) 算法原地工作的含义是指不需要任何额外的辅助空间(2) 在相同的规模n下,复杂度O(n)的算法在时间上总是优于复杂度O(n2)的算法(3) 所谓时间复杂度是指最坏情况下,估算算法执行时间的一个上界(4) 同一个算法,实现语言的级别越高,执行效率就越低A) (1) B) (1)、(2) C) (1)、(4) D) (3)C13、从逻辑上可以把数据结构分为__两大类。

A) 动态结构、静态结构 B) 顺序结构、链式结构C) 线性结构、非线性结构 D) 初等结构、构造型结构D14、以下与数据的存储结构无关的术语是__。

A) 循环队列 B) 链表 C) 哈希表 D) 栈A15、以下数据结构中,__是非线性数据结构。

A) 树 B) 字符串 C) 队列 D) 栈C16、以下属于逻辑结构的是__。

A) 顺序表 B) 哈希表 C) 有序表 D) 单链表四、分析下面各程序段的时间复杂度01、for (i=0; i<n; i++)for (j=0; j<m; j++)A[i][j]=0;m )答:O(n02、s=0;for (i=0; i<n; i++)for(j=0; j<n; j++)s+=B[i][j];sum=s;答:O(2n)03、x=0;for (i=1; i<n; i++)for (j=1; j<=n-i; j++)x++;答:O(2n)04、i=1;while(i<=n)i=i*3;log)答:O(n3五、设有数据逻辑结构S=(D,R),试按各小题所给条件画出这些逻辑结构的图示,并确定相对于关系R,哪些结点是开始结点,哪些结点是终端结点?01、D={d1,d2,d3,d4}R={(d1,d2),(d2,d3),(d3,d4) }答:此图为线性结构d1→d2→d3→d4d1—无直接前驱,是首结点d4—无直接后继是尾结点02、D={d1,d2,…,d9}R={(d1,d2),(d1,d3),(d3,d4),(d3,d6),(d6,d8),(d4,d5), (d6,d7),(d8,d9) }答:此图为树形结构d1—无直接前驱,是根结点d2,d5,d7,d9—无直接后继是叶子结点03、D={d1,d2,…,d9}R={(d1,d3),(d1,d8),(d2,d3),(d2,d4),(d2,d5),(d3,d9), (d5,d6),(d8,d9),(d9,d7), (d4,d7), (d4,d6)} 答:此图为图形结构d1,d2—无直接前驱,是开始结点d6,d7—无直接后继是终端结点六、简述题01、什么是数据结构?答:数据结构是一门研究非数值计算的程序设计问题中计算机的操作对象以及它们之间的关系和运算等的学科。

02、顺序存储结构和链式存储结构的特点是什么?答:顺序存储结构是指数据元素的逻辑存储顺序和计算机中的物理存储顺序一致,即数据占用一段连续的存储单元,该存储结构便于实现在查找数据元素时的地址定位,但缺点是在插入和删除操作时需要移动大量的数据元素。

链式存储结构是指数据元素在计算机中占用不连续的存储单元,通过指针指向表示其先后顺序,该存储结构缺点是在查找数据元素时要通过指针的链接关系才能找到所要的数据元素,优点在于插入和删除操作时,不需要移动大量数据元素,只需要改变其指向关系即可。

相关文档
最新文档