数据结构c语言版严蔚敏
- 格式:ppt
- 大小:3.58 MB
- 文档页数:814


严蔚敏 数据结构C语言版答案详解
第1章 绪论
1.1 简述下列术语:数据,数据元素、数据对象、数据结构、存储结构、数据类型和抽象数据类型。
解:数据是对客观事物的符号表示。在计算机科学中是指所有能输入到计算机中并被计算机程序处理的符号的总称。
数据元素是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。
数据对象是性质相同的数据元素的集合,是数据的一个子集。
数据结构是相互之间存在一种或多种特定关系的数据元素的集合。
存储结构是数据结构在计算机中的表示。
数据类型是一个值的集合和定义在这个值集上的一组操作的总称。
抽象数据类型是指一个数学模型以及定义在该模型上的一组操作。是对一般数据类型的扩展。
1.2 试描述数据结构和抽象数据类型的概念与程序设计语言中数据类型概念的区别。
解:抽象数据类型包含一般数据类型的概念,但含义比一般数据类型更广、更抽象。一般数据类型由具体语言系统内部定义,直接提供给编程者定义用户数据,因此称它们为预定义数据类型。抽象数据类型通常由编程者定义,包括定义它所使用的数据和在这些数据上所进行的操作。在定义抽象数据类型中的数据部分和操作部分时,要求只定义到数据的逻辑结构和操作说明,不考虑数据的存储结构和操作的具体实现,这样抽象层次更高,更能为其他用户提供良好的使用接口。
1.3 设有数据结构(D,R),其中
4,3,2,1ddddD,rR,4,3,3,2,2,1ddddddr
试按图论中图的画法惯例画出其逻辑结构图。
解:
1.4 试仿照三元组的抽象数据类型分别写出抽象数据类型复数和有理数的定义(有理数是其分子、分母均为自然数且分母不为零的分数)。
解:
ADT Complex{
数据对象:D={r,i|r,i为实数}
数据关系:R={}
基本操作:
InitComplex(&C,re,im)
说明: 1. 本文是对严蔚敏《数据结构(c语言版)习题集》一书中所有算法设计题目的解决方案,主要作者为计算机版版主一具.以下网友:siice,龙抬头,iamkent,zames,birdthinking等为答案的修订和完善工作提出了宝贵意见,在此表示感谢;
2. 本解答中的所有算法均采用类c语言描述,设计原则为面向交流、面向阅读,作者不保证程序能够上机正常运行(这种保证实际上也没有任何意义);
3. 本解答原则上只给出源代码以及必要的注释,对于一些难度较高或思路特殊的题目将给出简要的分析说明,对于作者无法解决的题目将给出必要的讨论.目前尚未解决的题目有: 5.20, 10.40;
4. 请读者在自己已经解决了某个题目或进行了充分的思考之后,再参考本解答,以保证复习效果;
5. 由于作者水平所限,本解答中一定存在不少这样或者那样的错误和不足,希望读者们在阅读中多动脑、勤思考,争取发现和纠正这些错误,写出更好的算法来.请将你发现的错误或其它值得改进之处向作者报告:*************第一章 绪论
1.16
void print_descending(int x,int y,int z)//按从大到小顺序输出三个数
{
scanf("%d,%d,%d",&x,&y,&z);
if(xy; //<->为表示交换的双目运算符,以下同
if(yz;
if(xy; //冒泡排序
printf("%d %d %d",x,y,z);
}//print_descending
1.17
Status fib(int k,int m,int &f)//求k阶斐波那契序列的第m项的值f
{
int tempd;
if(k<2||m<0) return ERROR;
if(m
else if (m==k-1) f=1;
else
{
for(i=0;i<=k-2;i++) temp[i]=0;
只要站起来的次数比倒下去的次数多,那就是成功。
第1章 绪论
1.1 简述下列术语:数据
数据元素、数据对象、数据结构、存储结构、数据类型和抽象数据类型
解:数据是对客观事物的符号表示
在计算机科学中是指所有能输入到计算机中并被计算机程序处理的符号的总称
数据元素是数据的基本单位
在计算机程序中通常作为一个整体进行考虑和处理
数据对象是性质相同的数据元素的集合
是数据的一个子集
数据结构是相互之间存在一种或多种特定关系的数据元素的集合
存储结构是数据结构在计算机中的表示
数据类型是一个值的集合和定义在这个值集上的一组操作的总称
抽象数据类型是指一个数学模型以及定义在该模型上的一组操作
是对一般数据类型的扩展
1.2 试描述数据结构和抽象数据类型的概念与程序设计语言中数据类型概念的区别
解:抽象数据类型包含一般数据类型的概念
但含义比一般数据类型更广、更抽象
一般数据类型由具体语言系统内部定义
直接提供给编程者定义用户数据
因此称它们为预定义数据类型
抽象数据类型通常由编程者定义
包括定义它所使用的数据和在这些数据上所进行的操作
在定义抽象数据类型中的数据部分和操作部分时
要求只定义到数据的逻辑结构和操作说明
不考虑数据的存储结构和操作的具体实现
这样抽象层次更高
更能为其他用户提供良好的使用接口
1.3 设有数据结构(D
R)
其中
试按图论中图的画法惯例画出其逻辑结构图
解:
1.4 试仿照三元组的抽象数据类型分别写出抽象数据类型复数和有理数的定义(有理数是其分子、分母均为自然数且分母不为零的分数)
解:
ADT Complex{
数据对象:D={r
i|r
i为实数}
数据关系:R={
i>}
基本操作:
InitComplex(&C
re
im)
操作结果:构造一个复数C
其实部和虚部分别为re和im
DestroyCmoplex(&C)
精神成就事业,态度决定一切。
第1章 绪论
1.1 简述下列术语:数据
数据元素、数据对象、数据结构、存储结构、数据类型和抽象数据类型
解:数据是对客观事物的符号表示
在计算机科学中是指所有能输入到计算机中并被计算机程序处理的符号的总称
数据元素是数据的基本单位
在计算机程序中通常作为一个整体进行考虑和处理
数据对象是性质相同的数据元素的集合
是数据的一个子集
数据结构是相互之间存在一种或多种特定关系的数据元素的集合
存储结构是数据结构在计算机中的表示
数据类型是一个值的集合和定义在这个值集上的一组操作的总称
抽象数据类型是指一个数学模型以及定义在该模型上的一组操作
是对一般数据类型的扩展
1.2 试描述数据结构和抽象数据类型的概念与程序设计语言中数据类型概念的区别
解:抽象数据类型包含一般数据类型的概念
但含义比一般数据类型更广、更抽象
一般数据类型由具体语言系统内部定义
直接提供给编程者定义用户数据
因此称它们为预定义数据类型
抽象数据类型通常由编程者定义
包括定义它所使用的数据和在这些数据上所进行的操作
在定义抽象数据类型中的数据部分和操作部分时
要求只定义到数据的逻辑结构和操作说明
不考虑数据的存储结构和操作的具体实现
这样抽象层次更高
更能为其他用户提供良好的使用接口
1.3 设有数据结构(D
R)
其中
试按图论中图的画法惯例画出其逻辑结构图
解:
1.4 试仿照三元组的抽象数据类型分别写出抽象数据类型复数和有理数的定义(有理数是其分子、分母均为自然数且分母不为零的分数)
解:
ADT Complex{
数据对象:D={r
i|r
i为实数}
数据关系:R={
i>}
基本操作:
InitComplex(&C
re
im)
操作结果:构造一个复数C
其实部和虚部分别为re和im
DestroyCmoplex(&C)