严蔚敏编著数据结构题集(C语言版):抽象数据典范详解与示例

版权申诉
0 下载量 23 浏览量 更新于2024-07-01 1 收藏 1.1MB DOC 举报
本资源是《数据结构题集》(C语言版)的官方答案,由严蔚敏编著,主要针对数据结构的相关概念进行详细解析。以下是部分内容的总结: 1. **数据概述**: - 数据在计算机科学中是指可以输入到计算机并被处理的符号或标志,它是对客观事物的表示。 - 数据元素是构成数据的基本单位,可以作为一个整体进行处理。 - 数据构造指的是数据元素按照某种关系组织起来的集合,如数组、链表等。 - 存储构造是数据构造在计算机内存中的物理表示方式,可能与数据逻辑结构不同。 2. **数据结构与抽象数据类型(ADT)**: - 数据构造与抽象数据典范(ADT)的区别在于抽象数据典范更为抽象,它不仅包含了具体的数据类型,还定义了在这些数据上的操作规则。抽象数据典范是由程序员定义的,具有更高的抽象层次,便于提供统一的接口供其他程序使用。 - 比如,预定义数据典范如整数、字符串等,由编程语言内建,而用户自定义的抽象数据典范如题目中提到的三元组、双数和有理数等,允许开发者根据需求设计其数据结构和操作。 3. **具体示例**: - 提供了一个三元组抽象数据典范的示例,定义了双数类(Complex),包含数据元素r_i(实数)、数据关系(如元素间的关联)、构造函数(如InitComplex)、销毁函数(DestroyComplex)、读取和设置元素值的Get和Put方法,以及判断元素顺序的IsAscending和IsDescending方法。 4. **逻辑构造图绘制**: - 对于给定的数据构造DR,要求根据图论中的常规画法绘制其逻辑构造图,但具体图没有在提供的部分给出。 5. **抽象数据典范实例**: - 有理数的抽象数据典范定义了有理数类,其数据东西由分子和分母组成,每个有理数都是由这两个自然数构成,分母不能为零。定义中包含了初始化、销毁、获取和设置元素值,以及判断数值大小的递增和递减功能。 通过阅读这份文档,学习者可以深入理解数据结构的基本概念,学会如何定义和操作抽象数据类型,并能在实际编程中应用这些知识解决数据结构相关的问题。