数据结构习题解答

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
for( i=1; i<=n;i++) {
for(j=i; j<=n; j+ +)
@ k+ +;
}
答:
(5)for( i=1; i<=n;i++) {
for(j=i; j<=i; j+ +)
for(k=1; k<=j; k+ +)
@ x+ =delta;
}
答:
(6)i=1;j=0;
while(i+j<=n) {
6.数据的存储结构可用四种基本的存储方法表示,它们分别是。顺序存储结构,链式存储结构,索引存储结构,散列存储结构
7. 一个算法的效率可分为效率和效率。时间,空间
5.2选择题
()1.线性结构是数据元素之间存在一种:D
A.一对多关系 B.多对多关系 C.多对一关系 D.一对一关系
()2.数据结构中,与所使用的计算机无关的是数据的结构。C
2.了解抽象数据类型的定义、表示和实现方法。
3.熟悉类C语言的书写规范,特别要注意值调用和引用调用的区别,输入、输出的方式以及错误处理方式。
4.理解算法五个要素的确切含义:①动态有穷性(能执行结束);②确定性(对于相同的输入执行相同的路径);③有输入;④有输出;⑤可行性(用以描述算法的操作都是足够基本的)。
@if(i>j) j+ +;
elsei+ +;
}
答:n
(7)x=n; y=0;
while(x>=(y+1)*(y+1)) {
@ y+ +;
}
答:
(8)x=91; y=100;
while(y>0) {
@if(x>100) {x- =100; y- -; }
elsex+ +;
}
答:1100
四、算法设计题
5.掌握计算语句频度和估算算法时间复杂度的方法。
三、基础知识题
1.1简述下列术语:数据、数据元素、数据对象、数据结构、存储结构、数据类型和抽象数据类型。
答:数据是对客观事物的符号表示,在计算机科学中是指所有能输入到计算机中并被计算机程序处理的符号的总称。
数据元素是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。
A.存储 B.物理 C.逻辑 D.物理和存储
()3. 算法分析的目的是:C
A.找出数据结构的合理性 B.研究算法中的输入和输出的关系
C.分析算法的效率以求改进 D.分析算法的易懂性和文档性
()4. 计算机算法指的是:C
A.计算方法 B.排序方法
C.解决问题的有限运算序列 D.调度方法
()5. 计算机算法必须具备输入、输出和等5个特性。B
数据结构习题解答
第1章 绪论
一、基本内容
数据、数据元素、数据对象、数据结构、存储结构和数据类型等概念术语的确定含义;抽象数据类型的定义、表示和实现方法;描述算法的类C语言;算法设计的基本要求以及从时间和空间角度分析算法的方法。
二、学习要点
1.熟悉各名词、术语的含义,掌握基本概念,特别是数据的逻辑结构和存储结构之间的关系。分清哪些是逻辑结构的性质,哪些是存储结构的性质。
1.16试写一算法,自大至小依次输出顺序读入的三个整数X,Y,Z的值。
答:
void print_descending(int x,int y,int z)//按从大到小顺序输出三个数
{scanf("%d,%d,%d",&x,&y,&z);
if(x<y){
temp=x; x=y; y=temp;
}
if(y<z){
答:简单地说,数据结构定义了一组按某些关系结合在一起的数组元素。数据类型不仅定义了一组带结构的数据元素,而且还在其上定义了一组操作。程序设计语言中的数据类型是一个值的集合和定义在这个值集上的一组操作的总称。而抽象数据类型是指一个数学模型以及定义在该模型上的一组操作。
1.8设n为正整数,试确定下列各程序段中前置以记号@的语句的频度。
2. 数据结构被形式地定义为(D, R),其中D是的有限集合,R是D上的
有限集合。数据元素,关系
3.数据结构包括数据的、数据的和数据的这三个方面的内容。
4. 数据结构按逻辑结构可分为两大类,它们分别是和。线性结构,非线性结构
5. 线性结构中元素之间存在关系,树形结构中元素之间存在关系,图形结构中元素之间存在关系。一对一,一对多,多对多
(1)i=1;k=0;
while(i<=n-1) {
@ k+=10*i;
i++;
}
答:n-1
(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;
}
答:n-1
(4)k=0;
temp=z; z=y;
if(x>=temp)
y=temp;
else{
y=x; x=temp;
}Baidu Nhomakorabea
}
printf("%d %d %d",x,y,z);
}//print_descending
五、附加题
5.1填空题
1.数据结构是一门研究非数值计算的程序设计问题中计算机的以及它们之间的和运算等的学科。操作对象,关系
A.可行性、可移植性和可扩充性 B.可行性、确定性和有穷性
C.确定性、有穷性和稳定性 D.易读性、稳定性和安全性
第2章线性表
一、基本内容
线性表的逻辑结构定义、抽象数据类型定义和各种存储结构的描述方法;在线性表的两类存储结构(顺序的和链式的)上实现基本操作;稀疏多项式的抽象数据类型定义、表示和加法的实现。
二、学习要点
1.了解线性表的逻辑结构特性是数据元素之间存在着线性关系,在计算机中表示这种关系的两类不同的存储结构是顺序存储结构和链式存储结构。用前者表示的线性表简称为顺序表,用后者表示的线性表简称为链表。
2.熟练掌握这两类存储结构的描述方法,如一维数据中一个区域[i..j]的上、下界和长度之间的变换公式(L=j-i+1,i=j-L+1,j=i+L-1),链表中指针P和结点*p的对应关系(结点*(p->next)是结点*p的后继等),链表中的头结点、头指针和首元结点的区别及循环链表、双向链表的特点等。链表是本章的重点和难点。扎实的指针操作和内在动态分配的编程技术是学好本章的基本要求。
数据对象是性质相同的数据元素的集合,是数据的一个子集。
数据结构是相互之间存在一种或多种特定关系的数据元素的集合。
存储结构是数据结构在计算机中的表示(又称映像)。
数据类型是一个值的集合和定义在这个值集上的一组操作的总称。
抽象数据类型是指一个数学模型以及定义在该模型上的一组操作。
1.2试描述数据结构和抽象数据类型的概念与程序设计语言中数据类型概念的区别。
相关文档
最新文档