数据结构习题汇编01 第一章 绪论 试题
数据结构练习题
. . . . .一、单选题第1章绪论1、在数据结构中,从逻辑上可以把数据结构分成A、动态结构和静态结构C、线性结构和非线性结构2、算法分析的两个主要方面是A、空间复杂性和时间复杂性C、可读性和文档性3、数据的不可分割的最小单位是B、紧凑结构和非紧凑结构D、内部结构和外部结构B、正确性和简明性D、数据复杂性和程序复杂性A、结点B、数据元素C、数据项D、数据对象4、在任何问题中,数据元素都不是孤立存在的,而是在它们之间存在着某种关系,这种数据元素相互之间的关系称为A、规则B、集合C、结构D、运算5、与程序运行时间有关的因素主要有以下四方面,其中与算法关系密切的是A、问题的规模C、机器执行速度二、判断题1、数据结构是带有结构的数据元素的集合。
2、程序越短,运行的时间就越少。
3、处理同一问题的算法是唯一的。
B、机器代码质量的优劣D、语句的执行次数4、一个完整算法可以没有输入,但必须有输出。
三、填空题1、______________是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。
2、______________结构的数据元素之间存在一对多的关系。
3、数据结构的形式化定义为(D,S),其中D 是______________的有限集,S 是 D 上关系的有限集。
4、数据结构在计算机中的______________称为存储结构。
5、数据元素之间的关系在计算机中有两种不同的表示方法:顺序映象和非顺序映象,由此- 1 -得到两种不同的存储结构是______________存储结构和______________存储结构。
6、一个算法具有五个特性:______________、______________、______________、有零个或多个输入、有一个或多个输出。
7、评价一个算法的好坏应该从算法的正确性、可读性、___________和_________________等几方面进行。
四、解答题1、设n 为正整数。
数据结构历年真题收集第1章 绪论(含答案)
第1章绪论一、选择题1. 算法的计算量的大小称为计算的()。
【北京邮电大学2000 二、3 (20/8分)】A.效率 B. 复杂性 C. 现实性 D. 难度2. 算法的时间复杂度取决于()【中科院计算所 1998 二、1 (2分)】A.问题的规模 B. 待处理数据的初态 C. A和B3.计算机算法指的是(1),它必须具备(2)这三个特性。
(1) A.计算方法 B. 排序方法 C. 解决问题的步骤序列 D. 调度方法(2) A.可执行性、可移植性、可扩充性 B. 可执行性、确定性、有穷性C. 确定性、有穷性、稳定性D. 易读性、稳定性、安全性【南京理工大学 1999 一、1(2分)【武汉交通科技大学 1996 一、1( 4分)】4.一个算法应该是()。
【中山大学 1998 二、1(2分)】A.程序 B.问题求解步骤的描述 C.要满足五个基本特性 D.A和C.5. 下面关于算法说法错误的是()【南京理工大学 2000 一、1(1.5分)】A.算法最终必须由计算机程序实现B.为解决某问题的算法同为该问题编写的程序含义是相同的C. 算法的可行性是指指令不能有二义性D. 以上几个都是错误的6. 下面说法错误的是()【南京理工大学 2000 一、2 (1.5分)】(1)算法原地工作的含义是指不需要任何额外的辅助空间(2)在相同的规模n下,复杂度O(n)的算法在时间上总是优于复杂度O(2n)的算法(3)所谓时间复杂度是指最坏情况下,估算算法执行时间的一个上界(4)同一个算法,实现语言的级别越高,执行效率就越低A.(1) B.(1),(2) C.(1),(4) D.(3)7.从逻辑上可以把数据结构分为()两大类。
【武汉交通科技大学 1996 一、4(2分)】A.动态结构、静态结构 B.顺序结构、链式结构C.线性结构、非线性结构 D.初等结构、构造型结构8.以下与数据的存储结构无关的术语是()。
【北方交通大学 2000 二、1(2分)】A.循环队列 B. 链表 C. 哈希表 D. 栈9.以下数据结构中,哪一个是线性结构()?【北方交通大学 2001 一、1(2分)】A.广义表 B. 二叉树 C. 稀疏矩阵 D. 串10.以下那一个术语与数据的存储结构无关?()【北方交通大学 2001 一、2(2分)】A.栈 B. 哈希表 C. 线索树 D. 双向链表11.在下面的程序段中,对x的赋值语句的频度为()【北京工商大学 2001 一、10(3分)】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)12.程序段 FOR i:=n-1 DOWNTO 1 DOFOR j:=1 TO i DOIF A[j]>A[j+1]THEN A[j]与A[j+1]对换;其中 n为正整数,则最后一行的语句频度在最坏情况下是()A. O(n)B. O(nlogn)C. O(n3)D. O(n2) 【南京理工大学1998一、1(2分)】13.以下哪个数据结构不是多型数据类型()【中山大学 1999 一、3(1分)】A.栈 B.广义表 C.有向图 D.字符串14.以下数据结构中,()是非线性数据结构【中山大学 1999 一、4】A.树 B.字符串 C.队 D.栈15. 下列数据中,()是非线性数据结构。
数据结构习题
第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)。
计算机数据结构习题1 附答案
计算机数据结构习题1 附答案计算机数据结构习题1附答案第1章绪论1.1详述以下术语:数据,数据元素、数据对象、数据结构、存储结构、数据类型和抽象数据类型。
求解:数据就是对客观事物的符号则表示。
在计算机科学中就是指所有能够输出至计算机中并被计算机程序处置的符号的总称。
数据元素是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。
数据对象是性质相同的数据元素的集合,是数据的一个子集。
数据结构是相互之间存在一种或多种特定关系的数据元素的集合。
存储结构是数据结构在计算机中的表示。
数据类型就是一个值的子集和定义在这个值集上的一组操作方式的总称。
抽象数据类型是指一个数学模型以及定义在该模型上的一组操作。
是对一般数据类型的扩展。
1.2填空题:1.常见的数据结构有_线性__结构,__树形___结构,__图形__结构等三种。
2.常见的存储结构有__顺序存储_______结构,__链式存储____结构等两种。
3.数据的基本单位是_数据元素___,它在计算机中是作为一个整体来处理的。
4.数据结构中的结构是指数据间的逻辑关系,常见的结构可分为两大类,__线性结构____和__非线性结构___。
5.《数据结构》课程探讨的主要内容就是数据的逻辑结构、存储结构和_____算法1.2设有数据结构(d,r),其中d??d1,d2,d3,d4?,r??r?,rd1,d2?,?d2,d3?,?d3,d4??试按图论中图的画法惯例画出其逻辑结构图。
求解:1.3设有以下三个函数:f?n??21n4?n2?1000,g?n??15n4?500n3,h?n??500n3.5?nlogn请判断以下断言正确与否:(1)f(n)就是o(g(n))(2)h(n)就是o(f(n))(3)g(n)就是o(h(n))(4)h(n)就是o(n3.5)(5)h(n)是o(nlogn)求解:(1)对(2)弄错(3)弄错(4)对(5)弄错___。
_第二章序列2.1描述以下三个概念的区别:头指针,头结点,首元结点(第一个元素结点)。
数据结构练习题
后, rear 的值为 , front 的值 为 ,当前队列的 长 度 为 。 14.设循环队列的容量为 40(序号从 0 到 39), 现经过一系列的入队和出队运算后, 有: ① front=11,rear=19; ② front=19,rear=11; 问在这两种情况下,循环队列中各有元素多少个? 15.写出下列程序段的输出结果(队列中的元素类型 QElem Type 为 char)。 void main( ){ Queue Q; Init Queue (Q); Char x=’e’; y=’c’; EnQueue (Q,’h’); EnQueue (Q,’r’); EnQueue (Q, y); DeQueue (Q,x); EnQueue (Q,x); DeQueue (Q,x); EnQueue (Q,’a’); while(!QueueEmpty(Q)){ DeQueue (Q,y); printf(y); }; printf(x); } 16.简述以下算法的功能(栈和队列的元素类型均为 int) void algo3(Queue &Q){ Stack S; int d; InitStack(S); while(!QueueEmpty(Q)){ DeQueue (Q,d); Push(S,d); }; while(!StackEmpty(S)){ Pop(S,d); EnQueue (Q,d); } }
第一章 绪论
1.数据结构是研究数据的( )以及它们之间的相互关系。 A.物理结构,逻辑结构 B.理想结构,抽象结构 C.理想结构,物理结构 D.抽象结构,逻辑结构 2.从逻辑上可以把数据结构分为( )两大类。 A.动态结构、静态结构 B.顺序结构、链式结构 C.线性结构、非线性结构 D.初等结构、构造型结构 3.以下不属于算法要素的是( ) A. 有穷性 B. 可行性 C. 可读性 D. 输入 4.算法的时间复杂度与( )有关。 A.问题规模 B.计算机硬件性能 C.编译程序质 D.程序设计语言 2 5.某算法的时间复杂度为 O(n ),表明该算法的( ) 2 A.问题规模是 n B.执行时间等于 n2 C.执行时间与 n2 成正比 D.问题规模与 n2 成正比 6.假设某算法语句总的执行次数为 T(n)=2n³ +n² ,那么该算法的时间复杂性量级为 ( ) A.O(2) B.O(n³ ) C.O(n² ) D.O(1) 7.设 n 为正整数,下面程序段中标号为①的语句频度为 。 int i = 1; k = 0; while ( i <= n-1 ){ k += 10*i; ① i++; } 8.程序段 for( i=0; i<n; i++ ) for( j=0; j<i; j++ ) k++; 中,语句 k++的执行次数为 。 9.在下面的程序段中,对 x 的赋值语句的渐进时间复杂度为 。 for(k=1;k<=n;k++) for(j=1;j<=n;j++) x=x+1; 10.下面程序段的时间复杂度为 。 void fun(int n) { int y=1; while (y <=n) y=2*y; }
数据结构习题(包含全部答案解析)
数据结构习题集(自编)第一章绪论一、选择题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、数据元素是数据的______,有些情况下也称为元素、结点、顶点、记录等。
数据结构第一章绪论习题
01绪论【单选题】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)。
第1章绪论习题解析(答)
《数据结构》第一章绪论部分习题一、选择题1. 下面说法错误的是。
(1)算法原地工作的含义是指不需要任何额外的辅助空间。
(2)在相同的规模n下,复杂度O(n)的撒在时间上总是优于复杂度O(2n)的算法。
(3)所谓时间复杂度是指最坏情况下,估算算法执行时间的一个上界。
(4)同一个算法,实现语言的级别越高,执行效率越低。
A、(1)B、(1)(2)C、(1)(4)D、(3)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. 下列程序段的时间复杂度为。
x=n;y=0;while (x>=(y+1)*(y+1))y=y+1;A、O(n)B、O(n1/2 )C、O(1)D、O(n2)10. 下列叙述中有关好的编程风格的正确描述是。
数据结构网试题
数据结构试题第一章绪论一、选择题:1、在数据结构中,从逻辑上可以把数据结构分成()。
A、动态结构和静态结构B、紧凑结构和非紧凑结构C、线性结构和非线性结构D、内部结构和外部结构2、算法分析的两个主要方面是()。
A、空间复杂性和时间复杂性B、正确性和简明性C、可读性和文档性D、数据复杂性和程序复杂性3、以下与数据的存储结构无关的术语是()。
A、循环队列B、链表C、哈希表D、栈4、以下数据结构中,哪一个是线性结构()。
A.广义表B、二叉树C、稀疏矩阵D、串5、在下面的程序段中,对x的赋值语句的频度为()。
FOR i:=1TO n DOFOR j:=1TO n DOx:=x+1;n)A、O(2n)B、O(n)C、O(n2)D、O(log26、以下哪个数据结构不是多型数据类型()。
A、栈B、广义表C、有向图D、字符串7、以下数据结构中,()是非线性数据结构。
A、树B、字符串C、队D、栈8、以下属于逻辑结构的是()。
A、顺序表 B.哈希表C、有序表D、单链表9、下列程序段的时间复杂度为()。
s=0;for(i=1;i<n;i++)for(j=1;j<n;j++)s+=ij;A、O(1)B、O(n)C、O(2n)D、O(n2)10、数据结构是()。
A、一种数据类型B、相互之间存在一种或多种特定关系的数据元素的集合C、一组性质相同的数据元素的集合D、数据的存储结构11、算法分析的目的是()。
A、辨别数据结构的合理性B、评价算法的效率C、研究算法中输入与输出的关系D、鉴别算法的可读性12、下面程序段的时间复杂度为()。
for(int i=0;i<m;i++)for(int j=0;j<n;j++)a[i][j]=ij;A、O(m2)B、O(n2)C、O(mn)D、O(m+n)13、执行下面程序段时,执行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)/214、算法的可读性是指()。
数据结构练习题及参考答案
数据结构练习题第一部分绪论一、单选题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-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、什么是数据结构?答:数据结构是一门研究非数值计算的程序设计问题中计算机的操作对象以及它们之间的关系和运算等的学科。
《数据结构》(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、在决定选取任何类型的存储结构时,一般不多考虑 ______。
《数据结构》习题汇编01-第一章-绪论-考试试题.doc
《数据结构与算法设计》习题册第一章绪论一、单项选择题1. 数据结构是一门研究非数值计算的程序设计问题中计算机的①以及它们之I'可的②和运 算等的学科。
① A ・数据元素 B.计算方法C.逻辑存储D.数据映象 ② A.结构B.关系C.运算D.算法 2. 数据结构被形式地定义为(K, R ),其中K 是 ① 的有限集,R 是K 上的 ② 有限集。
① A ・算法 B ・数据元素 C ・逻辑结构 D ・数据操作② A.操作 B.存储 C.映象 D.关系3. 在数据结构中,从逻辑上可以把数据结构分成 _______ 。
A. 动态结构和静态结构B.紧凑结构和非紧凑结构C.线性结构和非线性结构D.内部结构和外部结构4・数据结构在计算机内存屮的表示是指 ________ oA.数据的存储结构 B.数据结构 C.数据的逻辑结构 D.数据元素之间的关系5. ________________________________________________ 在数据结构中,与所使用的计算机无关的是数据的 ___________________________________________________ 结构。
A. 逻辑B.存储 C ・逻辑和存储 D.物理6.算法分析的目的是 ① ,算法分析的两个主要方面是 ② 。
7・计算机算法指的是 ① ,它必须具备输入、输出和 ② 等5个特性。
①A ・计算方法B.排序方法C.解决问题的有限运算序列D.调度方法 ②A.可行性、可移植性和可扩充性 C. 确定性、有穷性和稳定性9. _________________________________________ 在决定选取何种存储结构时,一般不考虑 。
A.各结点的值如何 B.结点个数的多少 C. 对数据有哪些运算 D.所用编程语言实现这种结构是否方便① A ・找出数据结构的合理性C ・分析算法的效率以求改进② A .空间复杂度和时间复杂度C.可读性和文档性B. 研究算法中的输入和输出的关系 D.分析算法的易懂性和文档性 B. 正确性和简明性 D.数据复杂性和程序复杂性 B.可行性、确定性和有穷性 D.易读性、稳定性和安全性8. ___________________________ 在以下叙述中,正确的是 __________________ 。
数据结构习题集(2022)
数据结构习题集(2022)第一章绪论1.下面是几种数据的逻辑结构S=(D,R),分别画出对应的数据逻辑结构,并指出它们分别属于何种结构。
D={a,b,c,d,e,f}R={r}(a)r={,,,,}(b)r={,,,,}(c)r={,,,,}2.分析下列程序段的时间复杂度(a)for(i=0;ifor(j=0;jfor(i=0;ifor(j=0;jWhile(i3.在数据结构中,与所使用的计算机无关的是A.存储结构B.物理结构C.物理和存储结构D.逻辑结构4.非线性结构中每个结点A.无直接前驱结点B.只有一个直接前驱和直接后继结点C.无直接后继结点D.可能有多个直接前驱和多个直接后继结点5.可以把数据的逻辑结构划分成A.内部结构和外部结构B.动态结构和静态结构C.紧凑结构和非紧凑结构D.线性结构和非线性结构6.算法的时间复杂度取决于()。
A.问题的规模B.待处理数据的初态C.A和B7.计算机算法指的是(),它必须具备()这三个特性。
(1)A.计算方法B.排序方法C.解决问题的步骤序列D.调度方法(2)A.可执行性、可移植性、可扩充性B.可执行性、确定性、有穷性C.确定性、有穷性、稳定性D.易读性、稳定性、安全性第二章线性表一、单项选择题1.下面关于线性表叙述中,错误的是_(1)_。
(1):A.顺序表必须占用一片地址连续的存储单元B.链表不必占用一片地址连续的存储单元C.顺序表可以随机存取任一元素D.链表可以随机存取任一元素2.在表长为n的单链表中,算法时间复杂度为O(n)的操作是(2)。
(2):A.查找单链表中第i个结点B.在p结点之后插入一个结点C.删除表中第一个结点D.删除p结点的直接后继结点3.单链表的存储密度(3)(3):A.大于1B.等于1C.小于1D.不能确定4.在表长为n的顺序表中,算法的时间复杂度为O(1)的操作是(4)(4):A.在第n个结点之后插入一个结点B.在第i个结点前插入一个新结点C.删除第i个结点D.求表长5.在下列链表中不能从当前结点出发访问到其余各结点的是(5)。
《数据结构》习题集答案:第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、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《数据结构与算法设计》习题册
第一章绪论
一、单项选择题
1.数据结构是一门研究非数值计算的程序设计问题中计算机的①以及它们之间的②和运
算等的学科。
①A. 数据元素 B. 计算方法 C. 逻辑存储 D. 数据映象
②A. 结构 B. 关系 C. 运算 D. 算法
2.数据结构被形式地定义为(K,R),其中K是①的有限集,R是K上的②有限集。
①A. 算法 B. 数据元素 C. 逻辑结构 D. 数据操作
②A. 操作 B. 存储 C. 映象 D. 关系
3.在数据结构中,从逻辑上可以把数据结构分成。
A. 动态结构和静态结构
B. 紧凑结构和非紧凑结构
C. 线性结构和非线性结构
D. 内部结构和外部结构
4.数据结构在计算机内存中的表示是指。
A. 数据的存储结构
B. 数据结构
C. 数据的逻辑结构
D. 数据元素之间的关系
5.在数据结构中,与所使用的计算机无关的是数据的结构。
A. 逻辑
B. 存储
C. 逻辑和存储
D. 物理
6.算法分析的目的是①,算法分析的两个主要方面是②。
①A. 找出数据结构的合理性 B. 研究算法中的输入和输出的关系
C. 分析算法的效率以求改进
D. 分析算法的易懂性和文档性
②A. 空间复杂度和时间复杂度 B. 正确性和简明性
C. 可读性和文档性
D. 数据复杂性和程序复杂性
7.计算机算法指的是①,它必须具备输入、输出和②等5个特性。
①A. 计算方法 B. 排序方法
C. 解决问题的有限运算序列
D. 调度方法
②A. 可行性、可移植性和可扩充性 B. 可行性、确定性和有穷性
C. 确定性、有穷性和稳定性
D. 易读性、稳定性和安全性
8.在以下叙述中,正确的是。
A. 线性表的线性存储结构优于链表存储结构
B. 二维数组是其数据元素为线性表的线性表
C. 栈的操作方式是先进先出
D. 队列的操作方式是先进后出
9.在决定选取何种存储结构时,一般不考虑。
A. 各结点的值如何
B. 结点个数的多少
C. 对数据有哪些运算
D. 所用编程语言实现这种结构是否方便
10.在存储数据时,通常不仅要存储各数据元素的值,而且还要存储。
A. 数据的处理方法
B. 数据元素的类型
C. 数据元素之间的关系
D. 数据的存储方法
11.下面说法错误的是。
(1)算法原地工作的含义是指不需要任何额外的辅助空间
(2)在相同的规模n下,复杂度O(n)的算法在时间上总是优于复杂度O(2n)的算法
(3)所谓时间复杂度是指最坏情况下,估计算法执行时间的一个上界
(4)同一个算法,实现语句的级别越高,执行效率越低
A. (1)
B. (1)、(2)
C. (1)、(4)
D. (3)
12.通常要求同一逻辑结构中的所有数据元素具有相同的特性,这意味着。
A. 数据元素具有同一特点
B. 不仅数据元素所包含的数据项的个数要相同,而且对应的数据项的类型要一致
C. 每个数据元素都一样
D. 数据元素所包含的数据项的个数要相等
13.以下说法正确的是。
A. 数据元素是数据的最小单位
B. 数据项是数据的基本单位
C. 数据结构是带结构的各数据项的集合
D. 一些表面上很不相同的数据可以有相同的逻辑结构
二、填空题
1.一个数据结构在计算机中的称为存储结构。
2.数据逻辑结构包括①、②和③三种结构,树形结构和图形结构合称为④。
3.在线性结构中,第一个结点①前驱结点,其余每个结点有且只有②个前驱结点;最后一
个结点③后继结点,其余每个结点有且只有④个前驱结点。
4.在树形结构中,树根结点没有①结点,其余每个结点有且只有②个前驱结点;叶子结点
没有③结点,其余每个结点的后继结点可以有④个。
5.在图形结构中,每个结点的前驱结点数和后继结点数都可以有个。
6.线性结构中元素之间存在①关系,树形结构中元素之间存在②关系,图形结构中元素之
间存在③关系。
7.算法的五个重要特性是、、、输入和输出。
8.算法可以用不同的语言描述,如果用C语言或PASCAL语言等高级语言来描述,则算法实现上就是程
序了。
这个断言是(正确的或错误的)。
三、简答题
1.设有数据逻辑结构为:
B=(K,R) K={k1,k2,...,k9}
R={<k1,k3>,<k1,k8>,<k2,k3>,<k2,k4>,<k2,k5>,<k3,k9>,<k5,k6>,
<k8,k9>,<k9,k7>,<k4,k7>,<k4,k6>}
画出这个逻辑结构的图示,并确定相对关系R,哪些结点是开始结点,哪些结点是终端结点。
2.设有如图1所示的逻辑结构图示,给出它的逻辑结构。
图1
3.有下列几种用二元组表示的数据结构,画出它们分别对应的逻辑图形表示,并指出它们分别属于何种
结构。
(1)A=(K,R),其中:K={a,b,c,d,e,f,g,h} R={r}
r={<a,b>,<b,c>,<c,d>,<d,e>,<e,f>,<f,g>,<g,h>}
(2)B=(K,R),其中:K={a,b,c,d,e,f,g,h} R={r}
r={<d,b>,<d,g>,<d,a>,<b,c>,<g,e>,<g,h>,<e,f>}
(3)C=(K,R),其中:K={1,2,3,4,5,6} R={r}
r={(1,2),(2,3),(2,4),(3,4),(3,5),(3,6),(4,5),(4,6)}
这里的圆括号对表示两结点是双向的。
(4)D=(K,R),其中:K={48,25,64,57,82,36,75} R={r1,r2}
r1={<25,36>,<36,48>,<48,57>,<57,64>,<64,75>,<75,82>}
r2={<48,25>,<48,64>,<64,57>,<64,82>,<25,36>,<82,75>}
4.当你为解决某一问题而选择数据结构时,应从哪些方面考虑?
四、算法设计题
1.下面程序段的时间复杂度是。
for(i=0;i<n;i++)
for(j=0;j<m;j++)
A[i][j]=0;
2.下面程序段的时间复杂度是。
i=s=0;
while(s<n){
i++; s+=i;
}
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.有如下递归函数fact(n),分析其时间复杂度。
fact(int n){
if(n<=1) return 1;
else return (n*fact(n-1));
}
6.指出下列个算法的时间复杂度。
(1)prime(int n){ m]和有n个整数的递减有序数组b[1..n],试写一个算法,将数组a和b归并为递增有序数组c[1..m+n],要求算法的时间复杂度为O(m+n)。
7.求解盘片为n的汉诺塔问题的算法如下,分析其算法时间复杂度。
void hanoi(int n,char x,char y,char z){
if(n==1) printf(“Move disk %d from %c to %c.\n”,n,x,z);
else{
hanoi(n-1,x,z,y);
printf(“Move disk %d from %c to %c.\n”,n,x,z);
hanoi(n-1,y,x,z);
}
}
8.分析以下程序段的时间复杂度。
s=0;
for(i=0;i<=n;i++)
for(j=0;j<=n;j++)
for(k=0;k<i+j;k++)
s++;。