数据结构第一章练习题

合集下载

数据结构习题课1

数据结构习题课1
IF i j 1 THEN
(IF A[i] A[j] THEN(fmax A[j]. fmin A[i]).
ELSE (fmax A[i]. fmin A[j]). RETURN). BS2. [取中值] mid (ij)/2 BS3. [递归调用]
BS (A, i, mid. gmax, gmin). BS (A, mid1, j. hmax,
IF (n≤1) THEN (flag←false. RETURN.) S2[初始化]
i←2. flag←true. S3[求余判断]
WHILE (i ≤ n div 2 ) DO (IF (n MOD i)=0 THEN (flag←false. RETURN.) i←i+1.) ▌
参考答案3
算法 S (n. flag) /*判断整数n是否为素数,将结果保存到变量flag*/ S1[n≤1?]
for(int k=1;k<=n;k++) for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) ;
int t=1; while(t<n) t*=2;
int t=2; while(t<n) t*=t;
作业1-5
题目描述
试用ADL语言编写一个算法,判断任一整数 n 是否为素数
for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) t=a[i][j],a[i][j]=a[j][i],a[j][i]=t;
for(int i=1;i<=n;i++) for(int j=i+1;j<=n;j++) a[j][i]=[i][j];

第一章数据结构概论习题

第一章数据结构概论习题

第一章概论习题一、选择题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 】的关系。

数据结构(第四版)练习题答案第一章

数据结构(第四版)练习题答案第一章
{printf("%4d",i);
if (j!=0 && ++j%10==0)//每行最多显示10个素数
printf("\n");
}
printf("\n");
}
//文件名:exp1-2.cpp
#include <stdio.h>
in
{
s+=num%10;
#include <stdio.h>
#include <string.h>
#define MAX 100//字符串的最大长度
int func(char s[])
{
int flag=1;
int i,j,slen=strlen(s);//slen为字符串s的长度
for (i=0,j=slen-1;i<j;i++,j--)
num/=10;
} while(num);
return(s);
}
void main()
{
int n;
printf("\n");
printf("输入一个整数:");
scanf("%d",&n);
printf("各位数字之和:%d\n",func(n));
printf("\n");
}
//文件名:exp1-3.cpp
if (s[i]!=s[j])
{
flag=0;
break;
}
return(flag);
}
void main()
{
char s[MAX];

数据结构课后习题及解析第一章

数据结构课后习题及解析第一章

数据结构课后习题及解析第一章第一章习题一、问答题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练习参考答案单元练习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. 数据结构是一门研究非数值计算的程序设计问题中计算机的 操作对象 以及它们之间的 关系 和运算等的学科。

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

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

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

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

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

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

8. 数据结构中,与所使用的计算机无关的是数据的 结构;A) 存储 B) 物理 C) 逻辑 D) 物理和存储9. 算法分析的目的是:A) 找出数据结构的合理性 B) 研究算法中的输入和输出的关系C) 分析算法的效率以求改进 D) 分析算法的易懂性和文档性10. 算法分析的两个主要方面是:A) 空间复杂性和时间复杂性 B) 正确性和简明性C) 可读性和文档性 D) 数据复杂性和程序复杂性11. 计算机算法指的是:A) 计算方法 B) 排序方法 C) 解决问题的有限运算序列 D) 调度方法12. 计算机算法必须具备输入、输出和 等5个特性。

A) 可行性、可移植性和可扩充性 B) 可行性、确定性和有穷性C) 确定性、有穷性和稳定性 D) 易读性、稳定性和安全性13.【严题集1.2②】数据结构和数据类型两个概念之间有区别吗? 答:简单地说,数据结构定义了一组按某些关系结合在一起的数组元素。

数据类型不仅定义了一组带结构的数据元素,而且还在其上定义了一组操作。

14.【严题集1.8④】分析下面各程序段的时间复杂度(每小题5分,共20分) 2. s=0; for (i=0; i<n; i++)for(j=0; j<n; j++) s+=B[i][j]; sum=s; 答:O (n 2) 1. for (i=0; i<n; i++) for (j=0; j<m; j++) A[i][j]=0;答:O (m*n )15.设有数据逻辑结构S=(D,R ),试按各小题所给条件画出这些逻辑结构的图示,并确定相对于关系R ,哪些结点是开始结点,哪些结点是终端结点?(每小题5分,共15分)a. 【严蔚敏习题集P7 1.3②】D={d1,d2,d3,d4} R={(d1,d2),(d2,d3),(d3,d4) }答: d1→d2→d3→d4 d1—无直接前驱,是首结点 d4—无直接后继是尾结点b. 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—无直接后继是叶子结点c. 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—无直接后继是终端结点3. x=0; for(i=1; i<n; i++) for (j=1; j<=n-i; j++) x++; 解:因为x++共执行了n-1+n-2+……+1= n(n-1)/2,所以执行时间为O (n 2)4. i=1; while(i<=n) i=i*3; 答:O (log 3n )。

数据结构 习题第一章

习题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.组成数据的基本单位是()(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章绪论测试题适用班级:数技19101-19104、物联19103-10104 测试时间:60分钟一、填空题(每空3分,共45分)1. 位是数据的最小单位,数据元素是数据的基本单位。

2.计算机所处理的数据一般具备某种内在联系,这是指元素和元素之间存在的某种关系。

3.一个算法具有正确性,可读性,健壮性,效率与存储量需求。

4.算法的时间复杂度与问题的规模有关。

5.某算法的时间复杂度 O(n2),表明该算法的与n2成正比。

6.数据采用链式存储结构时,要求每个结点占用一片连续的存储区域。

7.数据的逻辑结构是指数据元素之间逻辑关系的整体。

8.数据结构通常分为以下4类基本结构:集合、线性结构、树形结构和图结构。

9.顺序存储映像和非顺序存储印象,得到两种不同的存储结构:线性存储结构和非线性储存结构。

10.在线性结构中,第一个结点没有前驱结点,其余每个结点有且只有一个前驱结点。

11.在图状结构中,每个结点的前驱结点数和后继结点数可以有任意多个。

12.一个算法具有5个特性:有穷性,确定性,可行性,有零个或多个输出。

13.算法中的每条指令都必须有确切的含义,不能具有二义性,表现算法特性中的确定性。

14.数据在计算机的存储器中表示时,逻辑上相邻的两个数据元素对应的物理地址也是相邻的,这种存储结构称之为顺序储存结构。

15.算法分析的目的是找出数据结构的合理性,算法分析的两个主要方面是空间复杂度和时间复杂度。

二、判断题(每题2分,共20分)1.数据对象就是一组任意数据元素的集合( f )2.数据对象是具有相同性质的数据元素的集合( t )3.数据对象是由有限个类型相同的数据元素构成的( t )4.数据的逻辑结构与各数据元素在计算机中如何存储有关( f )5.逻辑结构不相同的数据,必须采用不同类型的存储方式( t )6.数据的逻辑结构是指数据的各数据项之间的逻辑关系( f )7.算法的优劣与算法描述语言无关,但与所用的计算机有关( f )8.程序一定是算法( f )9.算法最终必须由计算机实现( f )10.健壮的算法不会因为非法输入数据而出现莫名其妙的状态( t )三、算法分析题,分析以下算法的时间复杂度(每题5分,共35分)1.void func(int n){int i, k = 110;while(i <= n){k++;i += 2;}}2.void fun(int n){int i = 1;while(i <= n){i = i*3;}}3.void fun(int n){int i, j, k;for(i = 1; i <= n; i++){for(j = 1; j < = n; j++){k = 1;while(k <= n){k = 5*k;}}}}4.void func(int n){int i, j, k = 0;for(i = 1;i < n; i++){for(j = i + 1; j <= n; j++){k++;}}}5.void func(int n){int i = 0, s = 0;while(s <= n){i++;s = s + 1;}}6.设n是偶数,试计算运行下列程序段后m的值,并给出该程序段的时间复杂度int m = 0, i, j;for(i = 1; i <= n; i++){for(j = 2*i; j <= n; j++){m++;}}7.int fact(int a[], int n, int x){int i = 0;while(i < n){if(a[i] == x){return i;}i++;}return -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={,,,}
画出这个逻辑结构的图示,并确定相对关系R,哪些结点是开始结点,哪些结点是终端结点。

k2k1k4k5k8k3k6k9k72.2设有如图所示的逻辑结构图示,给出它的逻
辑结构。

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

for(i=0;i
2.4下面程序段的时间复杂度是()。

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

=0;
for(i=0;i
2.6下面程序段的时间复杂度是()。

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

fact(intn){if(n<1)return1;ele
return(n某fact(n-1))}
2.8求两个n阶矩形的乘法C=A某B,其算法如下:
#defineMA某100Voidma某tri某mult(intn,floata[MA某][MA 某]),b[MA某][MA某],float{inti,j,k;float某;
for(i=1;
某=0;//③
for(k=1;k<=n;k++)//④某+=a[i][k]某b[k][j];//⑤
c[MA某][MA某])c[i][j]=某;//⑥}}}
3、填空题。

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

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

3.数据的逻辑结构是指4.一个数据结构在计算机中称为存储结构。

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

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

8.一个算法具有5个特性:、、、、9.下面程序段中带下划线的语句
的执行次数的数量级是:i=1;WHILEi
10.下面程序段的时间复杂度为________。

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

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

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

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

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

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

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

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

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

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

相关文档
最新文档