.
专业
.
专注
.
严蔚敏版《数据结构(
C
语言版)
》习题集以及参考答æ¡?/p>
�/p>
1
ç«?/p>
绪论
1.1
简述下列术语:数据,数据元素、数据对象、数据结构、存储结构、数据类型和抽象数据类型ã€?/p>
解:数据
是对客观事物的符号表示。在计算机科学中是指所有能输入到计算机中并被计算机程序处理的符
号的总称ã€?/p>
数据元素
是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理ã€?/p>
数据对象
是性质相同的数据元素的集合,是数据的一个子集ã€?/p>
数据结构
是相互之间存在一种或多种特定关系的数据元素的集合ã€?/p>
存储结构
是数据结构在计算机中的表示ã€?/p>
数据类型
是一个值的集合和定义在这个值集上的一组操作的总称ã€?/p>
抽象数据类型
是指一个数学模型以及定义在该模型上的一组操作。是对一般数据类型的扩展ã€?/p>
1.2
试描述数据结构和抽象数据类型的概念与程序设计语言中数据类型概念的区别ã€?/p>
解:
抽象数据类型包含一般数据类型的概念,但含义比一般数据类型更广、更抽象。一般数据类型由
具体语言系统内部定义,直接提供给编程者定义用户数据,因此称它们为预定义数据类型。抽象数据类åž?/p>
通常由编程者定义,包括定义它所使用的数据和在这些数据上所进行的操作。在定义抽象数据类型中的æ•?/p>
据部分和操作部分时,要求只定义到数据的逻辑结构和操作说明,不考虑数据的存储结构和操作的具体实
现,这样抽象层次更高,更能为其他用户提供良好的使用接口ã€?/p>
1.3
设有数据结构
(D,R)
,其ä¸?/p>
�/p>
�/p>
4
,
3
,
2
,
1
d
d
d
d
D
�/p>
ï¼?/p>
�/p>
�/p>
r
R
�/p>
ï¼?/p>
�/p>
�/p>
�/p>
�/p>
�/p>
�/p>
�/p>
�/p>
4
,
3
,
3
,
2
,
2
,
1
d
d
d
d
d
d
r
�/p>
试按图论中图的画法惯例画出其逻辑结构图ã€?/p>
解:

1.4
试仿照三元组的抽象数据类型分别写出抽象数据类型复数和有理数的定义(有理数是其分子、分母均
为自然数且分母不为零的分数)
�/p>
解:
ADT Complex{
数据对象ï¼?/p>
D={r,i|r,i
为实æ•?/p>
}
数据关系ï¼?/p>
R={<r,i>}
基本操作ï¼?/p>
InitComplex(&C,re,im)
操作结果:构造一个复æ•?/p>
C
,其实部和虚部分别为
re
å’?/p>
im
DestroyCmoplex(&C)
操作结果:销毁复æ•?/p>
C
Get(C,k,&e)
操作结果:用
e
返回复数
C
的第
k
元的å€?/p>
Put(&C,k,e)
操作结果:改变复æ•?/p>
C
的第
k
元的值为
e
IsAscending(C)