数据结构第一章练习题

合集下载

数据结构 第一章测验 测验答案 慕课答案 UOOC优课 课后练习 深圳大学

数据结构 第一章测验 测验答案 慕课答案 UOOC优课 课后练习 深圳大学

数据结构第一章测验一、单选题 (共100.00分)1. 在数据结构概念中,数据的基本单位是()A. 数据段B. 数据项C. 数据表D. 数据元素正确答案:D2. 在数据结构概念中,结构是描述()A. 数据项的类型B. 数据元素之间的关系C. 数据成员的先后顺序D. 数据对象的取值范围正确答案:B3. 在算法设计中,要求算法便于理解和修改是属于算法要求的()A. 正确性B. 可读性C. 健壮性D. 效率高正确答案:B4. 抽象数据类型ADT通过三方面描述,包括数据对象、数据操作和()A. 数据范围B. 数据判断C. 数据关系D. 数据来源正确答案:C5. 以下关于算法的描述,哪个是正确的()A. 算法可以没有输入B. 算法可以包含无限个执行步骤C. 算法可以没有输出D. 算法的每个步骤允许带有歧义的正确答案:A6. 在算法设计中,要求算法满足具体问题的需求是属于算法要求的()A. 正确性B. 可读性C. 健壮性D. 效率高正确答案:A7. 抽象数据类型ADT通过三方面描述,包括数据关系、数据操作和()A. 数据对象B. 数据来源C. 数据范围D. 数据判断正确答案:A8. 以下关于数据结构的描述,哪一个是正确的()A. 数据原子是数据的最小独立单位B. 数据元素是数据的最小独立单位C. 一个数据项可以包含若干个数据元素D. 不能被计算机程序识别和处理的信息集合,不能称为数据正确答案:D9. 设n为问题规模,以下程序的时间复杂度为()for (i=1; i<=10000; i++) for (j=1; j<=n; j++) a = a + 1;A. O(1)B. O(n)C. O(10000n)D. O(n2)正确答案:B10. 设n为问题规模,以下程序的时间复杂度为() for (i=1; i< POW(2, n); i++) //POW(x, y)函数表示x的y 次幂a = a+100;A. O(n)B. O(2n)C. O(n!)D. O(2n)正确答案:D。

第一章数据结构概论习题

第一章数据结构概论习题

第一章概论习题一、选择题1.数据结构是具有【B 】的数据元素的集合。

A.相同性质B.相互关系C.相同运算D.数据项2.在计算机的存储结构中,逻辑上相邻的结点存储在物理位置上也相邻的连续存储单元里,称之为【 B 】。

A.逻辑结构B.顺序存储结构C.链式存储结构D.散列存储结构3.语句for(i=1;i<=n;i++) x++;的时间复杂度为【B 】。

A.O(1) B.O(n) C.O(n2) D.O(n3)4.下面不属于数据的存储结构的是【D 】。

A.散列存储B.链式存储C.索引存储D.压缩存储5.数据结构研究的是数据的【 A 】及它们之间的相互关系。

A.存储结构和逻辑结构B.存储和抽象C.理想与抽象D.理想与逻辑6.下面程序段的时间复杂度是【D 】。

for(i=0;i<2*n;i++)for(j=1;j<3*n;j++)A[i][j]=0;A.O(n) B.O(5n) C.O(6n2) D.O(n2) 7.数据的逻辑结构有两大类,分别是【 B 】。

A.顺序存储结构和链式存储结构B.线性结构和非线性结构C.压缩结构和非压缩结构D.有序结构和无序结构8.以下与数据的存储结构无关的术语是【D 】。

A.循环队列B.链表C.哈希表D.栈9.算法分析的两个主要方面是【A 】。

A.空间复杂度和时间复杂度B.正确性和简明性C.可读性和文档性D.数据复杂性和程序复杂性10.下面程序段的时间复杂度是【D 】。

S=0;for(i=0;i<n;i++)for(j=0;j<m;j++)s=s+a[i][j];A.O(1) B.O(m+n) C.O(log2mn) D.O(m*n) 11.能够输入计算机并能被计算机处理的符号统称为【A 】。

A.数据B.数据元素C.数据结构D.数据类型12.以下属于逻辑结构的是【C 】。

A.顺序表B.哈希表C.有序表D.单链表13.线性结构的数据元素之间存在着【A 】的关系。

数据结构 练习题

数据结构 练习题
A)10 B)110 C)1110 D)1111
6. 已知一棵二叉树的先序遍历序列为EFHIGJK,中序遍历序列为HFIEJGK,则该二叉树根的右子树的根是
A)E B)F C)G D)J
7. 设结点A有左孩子结点B,右孩子结点C,则在先序遍历、中序遍历、后序遍历这三种基本遍历序列中B一定是C的
图6-2 例6.3附图
6 自测习题
1. 简答题
1. *根据权值(1,2,3,4,5,6),构造哈夫曼树,并计算二叉树的带权路径长度。
2. 请
将下图6-1所示的森林转换成二叉树。
图6-1 简答题2的附图森林
3. *已知一棵二叉树的中序遍历序列为DHBEAIFCGJK,该二叉树的后序遍历序列是HDEBIFJKGCA,现请画出这棵二叉树。
第1章 概述
一、简答题
1.简述以下术语的含义并说明它们之间的关系。
数据类型、数据结构、逻辑结构、存储结构
2.简述算法时间效率和空间效率的概念。
3.简述数据结构课程的目的和意义。
二、选择题
1.以下数据结构中,逻辑结构属于线性结构的是
A)有向图 B)链式栈 C)二叉树 D)二叉排序树
四、算法及分析
1.写出交换两个整型变量值的算法,并分析算法的时间复杂度。
2.写出求n的阶乘 的算法,并分析算法的时间复杂度。
第2章 线性表
一、简答题
1.在处理某个问题时,需要存储的数据总量不能确定,并经常需要进行数据的添加和删除操作,此时应选用哪种存储结构?为什么?
3.设有结点定义
struct node
{ int data;
struct node *next;

数据结构章节练习题 精简

数据结构章节练习题 精简

数据结构章节练习题第一章绪论一、单选题1.一个数组元素a[i]与________的表示等价。

A、 *(a+i)B、 a+iC、 *a+iD、 &a+i2.下面程序段的时间复杂度为____________。

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)3.执行下面程序段时,执行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)/24.下面算法的时间复杂度为____________。

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.在下面程序段中,s=s+p语句的执行次数为________,p*=j语句的执行次数为________,该程序段的时间复杂度为________。

int i=0,s=0;while(++i<=n) {int p=1;for(int j=1;j<=i;j++) p*=j;s=s+p;}6.一个算法的时间复杂度为(3n2+2nlog2n+4n-7)/(5n),其数量级表示为________。

数据结构第一章练习题

数据结构第一章练习题
C.线性关系和树型关系都不D.线性关系和树型关系都
2.有下面的算法段:
for (i=0; i<n; i++)
k++;
其时间复杂度为B。
A.O(1)B.O(n)C.O(log2n)D.O(n2)
3.算法分析的目的是C。
A)找出数据结构的合理性B)研究算法中的输入和输出的关系
C)分析算法的效率以求改进D)分析算法的易懂性和文档性
4.计算机算法必须具备输入、输出和B等5个特性。
A)可行性、可移植性和可扩充性B)可行性、确定性和有穷性
C)确定性、有穷性和稳定性D)易读性、稳定性和安全性
一、填空
1.数据结构被形式地定义为(D, R),其中D是数据元素的有限集合,R是D上关系的有限集合。
2.数据结构包括数据的逻辑结构、数据的存储结构和数据的运算这三个方面的内容。
3.数据结构按逻辑结构可分为两大类,它们分别线性结构和非线性结构。
4.线性结构中元素之间存在一对一关系,树形结构中元素之间存在一对多关系,图形结构中元素之间存在多对多关系。
5.在线性结构中,第一个结点没有前驱结点,其余每个结点有且只有1个前驱结点;
最后一个结点没有后续结点,其余每个结点有且只有1个后续结点。
6.数据结构有四种,它们分别是集合、线性结构、树型结构、图状结构或网状结构。
7.衡量算法的标准有时间复杂度和空间复杂度。
ቤተ መጻሕፍቲ ባይዱ二、选择
1.D是图状关系的特例。
A.只有线性关系B.只有树型关系

数据结构 习题第一章

数据结构 习题第一章

习题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、对下列几种用二元组表示的数据结构,画出对应的逻辑结构图形表示,并指出属于哪一种结构。

数据结构练习题


后, 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. 以下哪种数据结构是先进先出(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. 请解释什么是哈希表及其应用场景。

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

《数据结构》第一章习题殷人昆版.doc

《数据结构》第一章习题一、判断题(在正确说法的题后括号中打“错误说法的题后括号中打“ X ”)1、一些表面上很不相同的数据可以有相同的逻辑结构。

(“)2、用C语言等高级语言实现的算法就是程序。

(X )3、课本P37 1.5题4、课本P37 1.6题二、单项选择题1、从逻辑上可以把数据结构分为(C )两大类。

A.动态结构、静态结构B.顺序结构、链式结构C.线性结构、非线性结构D.初等结构、构造型结构2、程序段for(int i = n-1; i >= 1; i-)for(int j = 1; j v二i; j++)if(A[j]>A[j+l])AB—//A[j]与A[j+1]交换值其中n为正整数,则最后一行的语句频度在最坏情况下是( A )。

A.O(n)B. O(nlogn)C. O(n3)D. O(n2)3、下面说法错误的是(c )(1)算法原地工作的含义是指不需要任何额外的辅助空间(2)在相同的规模n下,复杂度0(n)的算法在时间上总是优于复杂度0(”)的算法(3)所谓时间复杂度是指最坏情况下,估算算法执行时间的一个上界(3)同一-个算法,实现语言的级别越高,执行效率就越低A.(1)B.(1),(2)C.(l),(4)D.(3)三、填空题1、数据的逻辑结构是指(从解决问题的需要出发,为实现必要的功能所建立的数据结构)。

数据的物理结构包括(顺序结构)的表示和(链式结构)的表示。

2、数据结构的抽彖数据类型ADT可用三元组表示(D, S, P),其中D是数据对彖,S 是D上的关系集,P是对D的基本操作集。

3、在线性结构、树形结构和图形结构中,直接前驱和直接后继结点之间分别存在着—(直接存取结构)、(顺序存取结构)和(字典结构)的联系。

4、顺序存储结构是通过(顺序表)表示元素之间的关系的;链式存储结构是通过(链表)表示元索之间的关系的。

5、一个算法具有5个特性:有穷性、确切性、能行性、有零个或多个输入、有一个或多个输出。

数据结构习题

【基础知识题】1. 简述下列术语:数据、数据元素、数据对象、数据结构、存储结构、数据类型和抽象数据类型。

2. 在程序设计中,常用下列三种不同的出错处理方式:(1) 用exit语句终止执行并报告错误;(2) 以函数的返回值区别正确返回或错误返回;(3) 设置一个整型变量的函数参数以区别正确返回或某种错误返回。

试讨论这三种方法各自的优缺点,并编写算法,计算i!×2i 的值并存入数组a[0..arrsize-1] 的第i-1 个分量中(i=1,2,…,n)。

假设计算机中允许的整数最大值为maxint,则当n>arrsize 或对某个k(1≤k≤n) 使k!×2k>maxint 时,应按出错处理。

注意选择你认为较好的出错处理方法。

3. 在程序设计中,可采用下列三种方法实现输出和输入:(1) 通过scanf 和printf 语句;(2) 通过函数的参数显式传递;(3) 通过全局变量隐式传递。

试讨论这三种方法的优缺点,并编写算法求一元多项式的值,并确定算法中每一语句的执行次数和整个算法的时间复杂度。

注意选择你认为较好的输入和输出方法,本题的输入为ai (i=0,1,…,n),x0 和n,输出为。

4. 设n 为正整数。

试确定下列各程序段中前置以记号@ 的语句的频度:(1) i=1; k=0;while ( i<=n-1) {@ k += 10 * i;i++;}(2) i=1; k=0;do {@ k +=10 * i;i++;} while(i<=n-1);(3) i = 1; k = 0;while (i<=n-1) {i++ ;@ k+= 10 * i;}(4) k=0;for( i=1; i<=n; i++) {for (j=i ; j<=n; j++)@ k++;}(5) for( i=1; i<=n; i++) {for (j=1; j<=i; j++) {for (k=1; k<=j; k++)@ x += delta;}(6) i=1; j=0;while (i+j<=n) {@ if (i>j ) j++ ;else i++ ;}(7) x=n; y=0; // n 是不小于1的常数while (x>=(y+1)*(y+1)) {@ y++;}(8) x=91; y=100;while (y>0 ) {@ if (x>100 ) { x -= 10; y- -; }else x++;}第二章线性表【基础知识题】1. 描述以下三个概念的区别:头指针,头结点,首元结点(第一个元素结点)。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《数据结构》第一章练习题
1、单项选择题
1.1数据结构是一门非数值计算的程序设计问题中计算机的()以及它们之间的()和运算等的学科。

①A数据元素B计算方法C逻辑存储D数据映像
②A结构B关系C运算D算法
1.2数据结构被形式的定义为(K,R),其中K是()的有限集,R是K上的()有限集。

①A算法B数据元素C数据操作D逻辑结构
②A操作B映像C存储D关系
1.3在数据结构中,从逻辑上可以把数据结构分为()。

A动态结构和静态结构B紧凑结构和非紧凑结构
C线性结构和非线性结构D内部结构和外部结构
1.4数据结构在计算机内存中的表示是指()。

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

A逻辑B存储C逻辑和存储D物理
1.6算法分析的目的是(),算法分析的两个主要方面是()。

①A找出数据结构的合理性B研究算法中输入与输出的关系
C分析算法效率以求改进D分析算法的易懂性和文档性
②A空间复杂度和时间复杂度B正确性和简明性
C可读性和文档性D数据复杂性和程序复杂性
1.7计算机算法是指(),它必须具备输入、输出和()等5个特性。

①A计算方法B排序方法C解决问题的有限运算序列D调度方法
②A可行性、可移植性和可扩充性B可行性、确定性和有穷性
C确定性、有穷性和稳定性D易读性、稳定性和安全性
1.8在以下的叙述中,正确的是()。

A线性表和线性存储结构优于链表存储结构B二维数组是其数据元素为线性表的线性表
C栈的操作方式是先进先出D队列的操作方式是先进后出
1.9在决定选择何种存储结构时,一般不考虑()。

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

A数据的处理方法B数据元素的类型
C数据元素之间的关系D数据的存储方法
1.11下面说法错误的是()。

(1)方法原地工作的含义是指不需要额外的辅助空间
(2)在相同的规模n下,复杂度O(n)的算法在时间上总是优于复杂度O(2n)算法
(3)所谓时间复杂度是指最坏情况下,估计算法执行时间的一个上界
(4)同一个算法,实现语句的级别越高,执行效率越低
A(1)B(10(2)C(1)(4)D(3)
1.12通常要求同一逻辑结构中所有数据元素具有相同的特性,这意味着()。

A数据元素具有同一特点
B不仅数据元素所包含的数据项个数要相同,而且对应的数据项类型要一致
C每个数据元素都一样
D数据元素所包含的数据项的个数要相等
1.13以下说法正确的是()。

A数据元素师数据的最小单位
B数据项是数据的基本单位
C数据结构是带结构的各数据项的集合
D一些表面上很不相同的数据可以有相同的逻辑结构
2、设计与分析题
2.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.2设有如图所示的逻辑结构图示,给出它的逻辑结构。

2.3下面程序段的时间复杂度是()。

for (i=0;i<n;i++)
for (j=0;j<m;j++)
A[i][j]=0;
2.4下面程序段的时间复杂度是()。

i=s=0;
while (s<n)
{
i++; //i=i+1
s+=i; //s=s+i
}
2.5下面程序段的时间复杂度是()。

s=0;
for (i=0;i<n;i++)
for (j+0;j<n;j++)
s+=B[i][j];
sum=s
2.6下面程序段的时间复杂度是()。

i=1
while(i<n)
i=i*3;
2.7有如下递归函数fact(n),分析其时间复杂度。

fact(int n)
{ if (n<1)
return 1;
else
return (n*fact(n-1))
}
2.8求两个n阶矩形的乘法C=A*B,其算法如下:
#define MAX 100
V oid maxtrixmult(int n, float a[MAX][MAX]),b[MAX][MAX],float c[MAX][MAX]) {
int i,j,k;
float x;
for (i=1;<n;i++){ //①
for (j=1;j<n;j++){ //②
x=0; //③
for( k=1;k<=n;k++) //④
x+=a[i][k]*b[k][j]; //⑤
c[i][j]=x; //⑥}}}
3、填空题。

1.数据的物理结构包括的表示和的表示。

2. 对于给定的n个元素,可以构造出的逻辑结构有,,,__ _四种。

3.数据的逻辑结构是指。

4.一个数据结构在计算机中称为存储结构。

5.抽象数据类型的定义仅取决于它的一组___,而与__无关,即不论其内部结构如何变化,只要它的数学特征不变,都不影响其外部使用。

6.数据结构中评价算法的两个重要指标是。

7. 数据结构是研讨数据的__和__,以及它们之间的相互关系,并对与这种结构定义相应的_操作(运算)_,设计出相应的算法_。

8.一个算法具有5个特性:、、、、。

9.下面程序段中带下划线的语句的执行次数的数量级是:。

i=1; WHILE i<n i=i*2;
10.下面程序段的时间复杂度为________。

(n>1)
sum=1;
for (i=0;sum<n;i++) sum+=1;
4、简答题。

1. 数据结构是一门研究什么内容的学科?
2. 数据元素之间的关系在计算机中有几种表示方法?各有什么特点?
3. 数据类型和抽象数据类型是如何定义的。

二者有何相同和不同之处,抽象数据类型的主要特点是什么?使用抽象数据类型的主要好处是什么?
4. 回答问题:
(1)在数据结构课程中,数据的逻辑结构,数据的存储结构及数据的运算之间存在着怎样的关系?
(2)若逻辑结构相同但存储结构不同,则为不同的数据结构。

这样的说法对吗?举例
说明之。

(3)在给定的逻辑结构及其存储表示上可以定义不同的运算集合,从而得到不同的数据结构。

这样说法对吗?举例说明之。

(4)评价各种不同数据结构的标准是什么?
5.评价一个好的算法,您是从哪几方面来考虑的?
6.解释和比较以下各组概念:
(1)算法的时间复杂性;
(2)算法;
(3)频度;
7. 根据数据元素之间的逻辑关系,一般有哪几类基本的数据结构?
8.对于一个数据结构,一般包括哪三个方面的讨论?
9. 若将数据结构定义为一个二元组(D,R),说明符号D,R 应分别表示什么?
10.数据的存储结构由哪四种基本的存储方法实现?。

相关文档
最新文档