数据结构第一单元习题
数据结构课后习题及解析第一章
数据结构课后习题及解析第一章第一章习题一、问答题1.什么是数据结构?2.叙述四类基本数据结构的名称与含义。
3.叙述算法的定义与特性。
4.叙述算法的时间复杂度。
5.叙述数据类型的概念。
6.叙述线性结构与非线性结构的差别。
7.叙述面向对象程序设计语言的特点。
8.在面向对象程序设计中,类的作用是什么?9.叙述参数传递的主要方式及特点。
10.叙述抽象数据类型的概念。
二、判断题(在各题后填写“√”或“某”)1.线性结构只能用顺序结构来存放,非线性结构只能用非顺序结构来存放。
()2.算法就是程序。
()3.在高级语言(如C或PASCAL)中,指针类型是原子类型。
()三、计算下列程序段中某=某+1的语句频度for(i=1;i<=n;i++)for(j=1;j<=i;j++)for(k=1;k<=j;k++)某=某+1;四、试编写算法,求一元多项式Pn(某)=a+a某+a2某2+a3某3+…an某n的值Pn(某),并确定算法中的每一语句的执行次数和整个算法的时间复杂度,要求时间复杂度尽可能小,规定算法中不能使用求幂函数。
注意:本题中的输入ai(i=0,1,…,n),某和n,输出为Pn(某)。
通常算法的输入和输出可采用下列两种方式之一:(1)通过参数表中的参数显式传递。
(2)通过全局变量隐式传递。
试讨论这两种方法的优缺点,并在本题算法中以你认为较好的一种方式实现输入和输出。
实习题设计实现抽象数据类型“有理数”。
基本操作包括有理数的加法、减法、乘法、除法,以及求有理数的分子、分母。
第一章答案1.3计算下列程序中某=某+1的语句频度for(i=1;i<=n;i++)for(j=1;j<=i;j++)for(k=1;k<=j;k++)某=某+1;【解答】某=某+1的语句频度为:T(n)=1+(1+2)+(1+2+3)+……+(1+2+……+n)=n(n+1)(n+2)/61.4试编写算法,求pn(某)=a0+a1某+a2某2+…….+an某n的值pn(某0),并确定算法中每一语句的执行次数和整个算法的时间复杂度,要求时间复杂度尽可能小,规定算法中不能使用求幂函数。
数据结构单元1练习参考答案
数据结构单元1练习参考答案单元练习1一.判断题(下列各题,正确的请在前面的括号内打√;错误的打w )(√)(1)数据的逻辑结构与数据元素本身的内容和形式无关。
(√)(2)一个数据结构是由一个逻辑结构和这个逻辑结构上的一个基本运算集构成的整体。
(ㄨ)(3)数据元素是数据的最小单位。
(ㄨ)(4)数据的逻辑结构和数据的存储结构是相同的。
(ㄨ)(5)程序和算法原则上没有区别,所以在讨论数据结构时可以通用。
(√)(6)从逻辑关系上讲,数据结构主要分为线性结构和非线性结构两类。
(√)(7)数据的存储结构是数据的逻辑结构的存储映像。
(√)(8)数据的物理结构是指数据在计算机内实际的存储形式。
(ㄨ)(9)数据的逻辑结构是依赖于计算机的。
(√)(10)算法是对解题方法和步骤的描述。
二.填空题(1)数据有逻辑结构和存储结构两种结构。
(2)数据逻辑结构除了集合以外,还包括:线性结构、树形结构和图形结构。
(3)数据结构按逻辑结构可分为两大类,它们是线性结构和非线性结构。
(4)树形结构和图形结构合称为非线性结构。
(5)在树形结构中,除了树根结点以外,其余每个结点只有1 个前趋结点。
(6)在图形结构中,每个结点的前趋结点数和后续结点数可以任意多个。
(7)数据的存储结构又叫物理结构。
(8)数据的存储结构形式包括:顺序存储、链式存储、索引存储和散列存储。
(9)线性结构中的元素之间存在一对一的关系。
(10)树形结构结构中的元素之间存在一对多的关系,(11)图形结构的元素之间存在多对多的关系。
(12)数据结构主要研究数据的逻辑结构、存储结构和算法(或运算)三个方面的内容。
(13)数据结构被定义为(D,R),其中D 是数据的有限集合,R是D上的关系的有限集合。
(14)算法是一个有穷指令的集合。
(15)算法效率的度量可以分为事先估算法和事后统计法。
(16)一个算法的时间复杂性是算法输入规模的函数。
(17)算法的空间复杂度是指该算法所耗费的存储空间,它是该算法求解问题规模n的函数。
数据结构 习题第一章
习题1.1选择题1、数据结构是一门研究计算机解决实际问题中( A )以及它们之间的( B )和运算等的学科。
(1)A、数据元素 B、计算方法 C、逻辑存储 D、数据映像(2)A、结构 B、关系 C、运算 D、算法2、数据结构可以用二元组来表示,它包括( A )集合K和K上的( C )集合R。
A、数据元素B、存储结构C、元素之间的关系D、逻辑结构3、数据结构在计算机内存中的表示是指( A )。
A、数据的存储结构B、数据结构C、数据的逻辑结构D、数据元素之间的关系4、在数据结构中,与所使用的计算机无关的是数据的( A )结构。
A、逻辑B、存储C、逻辑和存储D、物理5、以下说法中正确的是( D )。
A、数据元素是数据的最小单位B、数据项是数据的基本单位C、数据结构是带结构的各数据项的集合D、一些表面上很不相同的数据可以有相同的逻辑结构1.2 填空题1、线性结构中元素之间存在(一对一)关系,树型结构中元素之间存在(一对多)关系,图型结构中元素之间存在(多对多)关系。
2、数据结构是研究数据的(逻辑结构)和(存储结构)以及它们之间的相互关系,并对这种结构定义相应的操作,设计出相应的(算法),而确保经过这些运算后所得到的新结构是原来的结构类型。
3、一个算法的时间复杂度是该算法包含的(简单操作次数)的多少,它是一个算法运行时间的(相对量度),一个算法的空间复杂度是指该算法在运行过程中临时占用的(存储空间)的大小。
4、一个算法的时间复杂度通常用问题规模的(最高数量级)形式表示,当一个算法的时间复杂度与问题的n大小无关时,则表示为(O(1));成正比时,表示为(O(n)),成平方时,则表示为(O(n2))。
5、数据结构、数据元素和数据项在计算机中的映射(或表示)分别称为存储结构、结点和数据域。
这句话是(正确)。
(填写正确或错误)1.3 应用题1、给定的两个数据结构如图1-1所示,回答以下问题:(a)图1-1 用图形表示法表示的两种数据结构(1) 用二元组表示法给出该数据结构的逻辑结构?(2)判断属于哪一种逻辑结构? 解:(a) D1=(K ,R ),其中: K={1,2,3,4,5,6} R={r}r={<1,2>,<2,3>,<3,4>,<4,5>,<5,6>} 线性结构 (b )D2=(K ,R ),其中: K={a,b,c,d,e,f,g,h,i} R={r}r={<a,b>,<a,c>,<c,d>,<c,e>,<d,f>,<d,g>,<e,g>,<e,h>,<g,i>}图型结构 2、对下列几种用二元组表示的数据结构,画出对应的逻辑结构图形表示,并指出属于哪一种结构。
数据结构习题(包含全部答案解析)
数据结构习题集(自编)第一章绪论一、选择题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、数据元素是数据的______,有些情况下也称为元素、结点、顶点、记录等。
数据结构各章习题及答案
数据结构各章习题及答案第一章绪论一、选择题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. 数据结构是一门研究非数值计算的程序设计问题中计算机的操作对象以及它们之间的关系和运算等的学科。
2. 数据结构被形式地定义为(D, R),其中D是数据元素的有限集合,R是D上的关系有限集合。
3. 数据结构包括数据的逻辑结构、数据的存储结构和数据的运算这三个方面的内容。
4. 数据结构按逻辑结构可分为两大类,它们分别是线性结构和非线性结构。
5. 线性结构中元素之间存在一对一关系,树形结构中元素之间存在一对多关系,图形结构中元素之间存在多对多关系。
6.在线性结构中,第一个结点没有前驱结点,其余每个结点有且只有 1个前驱结点;最后一个结点没有后续结点,其余每个结点有且只有1个后续结点。
7. 在树形结构中,树根结点没有前驱结点,其余每个结点有且只有1个前驱结点;叶子结点没有后续结点,其余每个结点的后续结点数可以任意多个。
8. 在图形结构中,每个结点的前驱结点数和后续结点数可以任意多个。
9.数据的存储结构可用四种基本的存储方法表示,它们分别是顺序、链式、索引和散列。
10. 数据的运算最常用的有5种,它们分别是插入、删除、修改、查找、排序。
11. 一个算法的效率可分为时间效率和空间效率。
二、单项选择题(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章习题兼解答
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. 以下哪种数据结构是先进先出(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) 简述数据与数据元素的关系与区别。
(2) 说出数据结构中的四类基本逻辑结构,并说明哪种关系最简单、哪种关系最复杂。
(3) 画出线性结构的示意图。
(4) 画出树形结构的示意图。
(5) 画出图状结构的示意图。
(6) 什么是逻辑结构、存储结构?有哪几种存储结构?(7) 简述顺序存储结构与链式存储结构在表示数据元素之间关系上的主要区别。
(8) 简述逻辑结构与存储结构的关系。
(9) 通常从哪几个方面评价算法的质量?(10) 算法的时间复杂度主要有哪几种?按从优到劣的顺序写出各种表示形式。
(11) 简述下列概念:数据、数据元素、数据类型、数据结构、逻辑结构、存储结构、线性结构、非线性结构。
(12) 下列算法的时间复杂度是( ) 。
for (i=0 ;i<n ;i++ )for (j=0 ;j<n ;j++ )c[i][j]=i+jA. O(1)B. O(n)C. O(log2n)D. O(n2)(13) 下列算法的时间复杂度是( ) 。
for (i=0 ;i<n ;i++ )c[i][i]=i+iA. O(1)B. O(n)C. O(log2n)D. O(n2)第二章习题:(1) 若某线性表采用顺序存储结构,每个元素占四个存储单元,首地址为100,则下标为11的(第12个)元素的存储地址为()。
(2) 下列说法正确的是( ) 。
A. 线性表的逻辑顺序与存储顺序总是一致的B. 线性报第链式存储结构中,内存中可用的存储单元可以使连续的,也可以不连续C. 线性表弟顺序存储结构优于链式存储结构D. 每种数据结构都具有插入、删除和查找三种基本运算(3) L是线性表,已知ListLength(L) 的值是5,运算DeleteList(L,2)后ListLength(L)的值是( ) 。
A. 5B. 0C. 4D. 6(4) 线性表中哪些元素只有一个直接前驱和一个直接后继( ) 。
A. 首元素B. 尾元素C. 中间元素D. 所有的元素(5) 线性表(L )经运算InitList (L )后,函数IEmpty (L )的值是( ) 。
(完整版)数据结构练习题及参考答案
数据结构练习题第一部分绪论一、单选题1. 一个数组元素a[i]与________的表示等价。
A、 *(a+i)B、 a+iC、 *a+iD、 &a+i2. 对于两个函数,若函数名相同,但只是____________不同则不是重载函数。
A、参数类型B、参数个数C、函数类型3. 若需要利用形参直接访问实参,则应把形参变量说明为________参数A、指针B、引用C、值4. 下面程序段的时间复杂度为____________。
for(int i=0; i<m; i++)for(int j=0; j<n; j++)a[i][j]=i*j;A、 O(m2)B、 O(n2)C、 O(m*n)D、 O(m+n)5. 执行下面程序段时,执行S语句的次数为____________。
for(int i=1; i<=n; i++)for(int j=1; j<=i; j++)S;A、 n2B、 n2/2C、 n(n+1)D、 n(n+1)/26. 下面算法的时间复杂度为____________。
int f( unsigned int n ) {if ( n==0 || n==1 ) return 1; else return n*f(n-1);}A、 O(1)B、 O(n)C、 O(n2)D、 O(n!)二、填空题1. 数据的逻辑结构被分为__________、_________、__________和__________四种。
2. 数据的存储结构被分为__________、_________、__________和__________四种。
3. 在线性结构、树形结构和图形结构中,前驱和后继结点之间分别存在着________、________和________的联系。
4. 一种抽象数据类型包括__________和__________两个部分。
5. 当一个形参类型的长度较大时,应最好说明为_________,以节省参数值的传输时间和存储参数的空间。
数据结构第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① 数据结构一般是研究数据的( 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章绪论一、判断题1.数据的逻辑构造及数据元素本身的内容和形式无关。
〔√〕2.一个数据构造是由一个逻辑构造和这个逻辑构造上的一个根本运算集构成的整体。
〔√〕3.数据元素是数据的最小单位。
〔×〕4.数据的逻辑构造和数据的存储构造是一样的。
〔×〕5.程序和算法原那么上没有区别,所以在讨论数据构造时可以通用。
〔×〕6.从逻辑关系上讲,数据构造主要分为线性构造和非线性构造两类。
〔√〕7.数据的存储构造是数据的逻辑构造的存储映象。
〔√〕8.数据的物理构造是指数据在计算机内实际的存储形式。
〔√〕9.数据的逻辑构造是依赖于计算机的。
〔×〕10.算法是对解题方法和步骤的描述。
〔√〕二、填空题1.数据有逻辑构造和存储构造两种构造。
2.数据逻辑构造除了集合以外,还包括线性构造、树形构造和图形构造。
3.数据构造按逻辑构造可分为两大类,它们是线性构造和非线性构造。
4.树形构造和图形构造合称为非线性构造。
5.在树形构造中,除了树根结点以外,其余每个结点只有1个前驱结点。
6.在图形构造中,每个结点的前驱结点数和后继结点数可以任意多个。
7.数据的存储构造又叫物理构造。
8.数据的存储构造形式包括顺序存储、链式存储、索引存储和散列存储。
9.线性构造中的元素之间存在一对一的关系。
10.树形构造中的元素之间存在一对多的关系。
11.图形构造的元素之间存在多对多的关系。
12.数据构造主要研究数据的逻辑构造、存储构造和算法〔或运算〕 3个方面的内容。
13.数据构造被定义为〔D,R〕,其中D是数据的有限集合,R是D上的关系有限集合。
14.算法是一个有穷指令的集合。
15.算法效率的度量可以分为事先估算法和事后统计法。
16.一个算法的时间复杂度是算法输入规模的函数。
17.算法的空间复杂度是指该算法所消耗的存储空间,它是该算法求解问题规模的n的函数。
18.假设一个算法中的语句频度之和为T(n)=6n+3nlog2n,那么算法的时间复杂度为O〔 nlog2n〕。
数据结构第一章习题及解答
Chap1一、选择题1. 算法的计算量的大小称为计算的(B )。
A.效率 B. 复杂性 C. 现实性 D. 难度2.计算机算法指的是(1) C,它必须具备(2)B这三个特性。
(1) A.计算方法 B. 排序方法 C. 解决问题的步骤序列D. 调度方法(2) A.可执行性、可移植性、可扩充性 B. 可执行性、确定性、有穷性C. 确定性、有穷性、稳定性D. 易读性、稳定性、安全性3. 下面关于算法说法正确的是( D )。
A.算法最终必须由计算机程序实现B.为解决某问题的算法同为该问题编写的程序含义是相同的C. 算法的可行性(基本运算执行有限次)是指指令不能有二义性D. 以上几个都是错误的4.从逻辑上可以把数据结构分为( C )两大类。
A.动态结构、静态结构 B.顺序结构、链式结构C.线性结构、非线性结构 D.初等结构、构造型结构5.以下数据结构中,哪一个是线性结构( D )?A.广义表 B. 二叉树 C. 稀疏矩阵 D. 串6.在下面的程序段中,对x的赋值语句的频度为( C )FOR i:=1 TO n DOFOR j:=1 TO n DOx:=x+1;A. O(2n) B.O(n) C.O(n2) D.O(log2n)7.程序段 FOR i:=n-1 DOWNTO 1 DOFOR j:=1 TO i DOIF A[j]>A[j+1]THEN A[j]与A[j+1]对换;其中 n为正整数,则最后一行的语句频度在最坏情况下是(C)。
A. O(n)B. O(nlogn)C. O(n3)D. O(n2)8.以下哪个数据结构不是多型数据类型(D)A.栈 B.广义表 C.有向图 D.字符串(始终是字符型的,不会存在其他类型)9.以下数据结构中,(A)是非线性数据结构A.树 B.字符串 C.队 D.栈二、判断题1.健壮的算法不会因非法的输入数据而出现莫名其妙的状态。
( A )2.算法可以用不同的语言描述,如果用C 语言或PASCAL语言等高级语言来描述,则算法实际上就是程序了。
数据结构单元测试题一
《数据结构》单元测试题一系班级姓名学号.一、单项选择题(在每小题的四个备选答案中选出一个正确的答案,并将其号码填在题干后的号码内,每小题2分,共30分)1. 数据结构是指()。
A.数据元素的组织形式B.数据类型C.数据存储结构D.数据定义2. 数据在计算机存储器内表示时,物理地址与逻辑地址不相同的,称之为()。
A.存储结构B.逻辑结构C.链式存储结构D.顺序存储结构3. 树形结构是数据元素之间存在一种()。
A.一对一关系B.多对多关系C.多对一关系D.一对多关系4. 设语句x++的时间是单位时间,则以下语句的时间复杂度为()。
for(i=1; i<=n; i++)for(j=i; j<=n; j++)x++;A.O(1)B.O()C.O(n)D.O()5. 在一个长度为n的顺序表中删除第i个元素(0<=i<=n)时,需向前移动个元素。
A.n-i B.n-i+l C.n-i-1 D.i6. 线性表采用链式存储时,其地址________。
A.必须是连续的B.一定是不连续的C.部分地址必须是连续的D.连续与否均可以7. 从一个具有n个结点的单链表中查找其值等于x的结点时,在查找成功的情况下,需平均比较________个元素结点。
A.n/2 B.n C.(n+1)/2 D.(n-1)/28.下图所示的是线性表的链接存储结构,采用的是( )链表。
A. 单链表B. 十字链表C.双链表D.循环链表9.二叉树中度为零的结点称为( )结点。
A. 单分支B. 双分支C. 根D. 叶子10.某二叉树的前序遍历结点访问的顺序是abdgcefh,中序遍历结点访问顺序是dgbaechf,则其后序遍历结点访问顺序是()A.bdgcefhaB.gdbecfhaC.gdbehfcaD.bdgaechf11.算法指的是()A.计算机程序 B.解决问题的有限运算序列C.排序算法 D.解决问题的计算方法12.线性表采用链式存储时,结点的存储地址()A.连续与否均可 B.必须是不连续的C.必须是连续的 D.和头结点的存储地址相连续13.空串与空格字符组成的串的区别在于()。
数据结构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、什么是数据结构?答:数据结构是一门研究非数值计算的程序设计问题中计算机的操作对象以及它们之间的关系和运算等的学科。
数据结构试题集(包含答案完整版)
)。
A. p->next=p->next->next;
B. p=p->next;p->next=p->next->next;
C. p =p->next;
D. p=p->next->next;
17 、将长度为 n的单链表连接在长度为 m的单链表之后的算法的时间复杂
度为( )。 A. O(1)
B. O(n)
元素。
A. n-i
B. n-i+1
C. n-i-1
D.
i+1
10 、线性表是 n 个( )的有限序列。
A. 表元素
B. 字符
C. 数据元素
D. 数
据项
11 、从表中任一结点出发,都能扫描整个表的是(
)。
A. 单链表
B. 顺序表
C. 循环链表
D.
静态链表
12 、在具有 n 个结点的单链表上查找值为 x 的元素时,其时间复杂度为
四、程序分析填空题 1、函数 GetElem 实现返回单链表的第 i 个元素,请在空格处将算法补充 完整。
int GetElem(LinkList L,int i,Elemtype *e){ LinkList p ;int j ; p=L->next;j=1; while(p&&j<i){ (1) ;++j; } if(!p||j>i) return ERROR; *e= (2) ; return OK;
B. 已知某结点位置后能容易找到其
C. 在进行插入、删除运算时能保证链表不断开 D. 在表中任一结点出发都能扫描整个链表
11 、不带头结点的单链表 head 为空的判定条件是( A )。
《数据结构》(C语言版)第一章绪论习题及答案
《数据结构》(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一、选择题(每题2分,共40分)1.数据的最小单位是( A)。
(A) 数据项(B) 数据类型(C) 数据元素(D) 数据变量2. 栈和队列的共同特点是( A )。
(A)只允许在端点处插入和删除元素(B)都是先进后出(C)都是先进先出(D)没有共同点3. 用链接方式存储的队列,在进行插入运算时( D )。
(A)仅修改头指针(B)头、尾指针都要修改(C)仅修改尾指针 (D)头、尾指针可能都要修改4. 以下数据结构中哪一个是非线性结构?( D )(A)队列(B)栈(C)线性表(D)二叉树5.函数substr(“DATASTRUCTURE”,5,9)的返回值为( A )。
(A) “STRUCTURE”(B) “DATA”(C) “ASTRUCTUR”(D) “DATASTRUCTURE”6.设一个有序的单链表中有n个结点,现要求插入一个新结点后使得单链表仍然保持有序,则该操作的时间复杂度为( D)。
(A) O(log2n) (B) O(1) (C) O(n2) (D) O(n)7.设一棵m叉树中度数为0的结点数为N0,度数为1的结点数为Nl,……,度数为m的结点数为Nm,则N0=( B)。
(A) Nl+N2+……+Nm(B) 1+N2+2N3+3N4+……+(m-1)Nm(C) N2+2N3+3N4+……+(m-1)Nm (D) 2Nl+3N2+……+(m+1)Nm 8.设有序表中有1000个元素,则用二分查找查找元素X最多需要比较( B)次。
(A) 25 (B) 10 (C) 7 (D) 19. 二叉树的第k层的结点数最多为( D )。
(A)2k-1 (B) 2K+1 (C) 2K-1 (D)2k-110. 树最适合用来表示( C )。
(A)有序数据元素(B)无序数据元素(C)元素之间具有分支层次关系的数据 (D)元素之间无联系的数据11.n个权构成一棵Huffman树,其节点总数为( A )。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Chap1
一、选择题
1. 算法的计算量的大小称为计算的( b )。
A.效率 B. 复杂性 C. 现实性 D. 难度
2.计算机算法指的是(1c),它必须具备(2d b)这三个特性。
(1) A.计算方法 B. 排序方法 C. 解决问题的步骤序列 D. 调度方法
(2) A.可执行性、可移植性、可扩充性 B. 可执行性、确定性、有穷性
C. 确定性、有穷性、稳定性
D. 易读性、稳定性、安全性
3. 下面关于算法说法正确的是(d)。
A.算法最终必须由计算机程序实现
B.为解决某问题的算法同为该问题编写的程序含义是相同的
C. 算法的可行性是指指令不能有二义性
D. 以上几个都是错误的
4.从逻辑上可以把数据结构分为( c )两大类。
A.动态结构、静态结构 B.顺序结构、链式结构
C.线性结构、非线性结构 D.初等结构、构造型结构
5.以下数据结构中,哪一个是线性结构( d )?
A.广义表 B. 二叉树 C. 稀疏矩阵 D. 串
6.在下面的程序段中,对x的赋值语句的频度为( c )
FOR i:=1 TO n DO
FOR j:=1 TO n DO
x:=x+1;
A. O(2n) B.O(n) C.O(n2) D.O(log2n)
7.程序段 FOR i:=n-1 DOWNTO 1 DO
FOR j:=1 TO i DO
IF A[j]>A[j+1]
THEN A[j]与A[j+1]对换;
其中 n为正整数,则最后一行的语句频度在最坏情况下是( d )。
A. O(n)
B. O(nlogn)
C. O(n3)
D. O(n2)
8.以下哪个数据结构不是多型数据类型( d )
A.栈 B.广义表 C.有向图 D.字符串
9.以下数据结构中,( a )是非线性数据结构
A.树 B.字符串 C.队 D.栈
二、判断题
1.健壮的算法不会因非法的输入数据而出现莫名其妙的状态。
( )
2.算法可以用不同的语言描述,如果用C 语言或PASCAL语言等高级语言来描述,则算法实际上就是程序了。
( x )
3.程序一定是算法。
( x )
4.数据的物理结构是指数据在计算机内的实际存储形式。
( )
5. 数据结构的抽象操作的定义与具体实现有关。
( x )
6. 顺序存储方式的优点是存储密度大,且插入、删除运算效率高。
( x )
三、填空题
1. 对于给定的n个元素,可以构造出的逻辑结构有(1)集合,线性结构,树结构,图,(2),(3),__(4)_四种。
2.数据结构中评价算法的两个重要指标是时间复杂度和空间复杂度
3.一个算法具有5个特性: (1)有穷性,确定性,可行性、(2)、(3),有零个或多个输入、有一个或多个输出。
4. 下面程序段的时间复杂度为___O(n)_____。
(n>1)
sum=1;
for (i=0;sum<n;i++) sum+=1;。