数据结构习题集解析与实现

需积分: 15 4 下载量 56 浏览量 更新于2024-07-29 收藏 1018KB PDF 举报
"数据结构C语言版 习题集" 本资源摘要信息来自于《数据结构习题集答案_C语言版》一书,作者为严蔚敏和吴伟民。以下是对标题、描述、标签和部分内容的详细解释和知识点总结。 **数据结构概念** 在计算机科学中,数据是对客观事物的符号表示,是所有能输入到计算机中并被计算机程序处理的符号的总称。数据元素是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。数据对象是性质相同的数据元素的集合,是数据的一个子集。数据结构是相互之间存在一种或多种特定关系的数据元素的集合。存储结构是数据结构在计算机中的表示。数据类型是一个值的集合和定义在这个值集上的一组操作的总称。抽象数据类型是指一个数学模型以及定义在该模型上的一组操作,是对一般数据类型的扩展。 **数据结构和抽象数据类型的概念** 抽象数据类型包含一般数据类型的概念,但含义比一般数据类型更广、更抽象。一般数据类型由具体语言系统内部定义,直接提供给编程者定义用户数据,因此称它们为预定义数据类型。抽象数据类型通常由编程者定义,包括定义它所使用的数据和在这些数据上所进行的操作。在定义抽象数据类型中的数据部分和操作部分时,要求只定义到数据的逻辑结构和操作说明,不考虑数据的存储结构和操作的具体实现,这样抽象层次更高,更能为其他用户提供良好的使用接口。 **数据结构的逻辑结构图** 设有数据结构(D, R),其中D = {d1, d2, d3, d4},R = {(d1, d2), (d2, d3), (d3, d4), (d4, d1)}。可以按照图论中图的画法惯例画出其逻辑结构图。 **抽象数据类型的定义** 可以仿照三元组的抽象数据类型分别写出抽象数据类型复数和有理数的定义。例如,复数的抽象数据类型可以定义为: ADT Complex { 数据对象:D = {r, i | r, i 为实数} 数据关系:R = {(r, i)} 基本操作: InitComplex(&C, re, im):构造一个复数C,其实部和虚部分别为re和im DestroyComplex(&C):销毁复数C Get(C, k, &e):用e返回复数C的第k元的值 Put(&C, k, e):改变复数C的第k元的值为e IsAscending(C):如果复数C的两个元素按升序排列,则返回1,否则返回0 } 本资源摘要信息涵盖了数据结构的基本概念、抽象数据类型的定义和数据结构的逻辑结构图的画法等知识点,是数据结构学习的重要参考资料。