数据结构定义与算法分析-清华大学严蔚敏

需积分: 0 0 下载量 170 浏览量 更新于2024-08-24 收藏 702KB PPT 举报
"数据结构是计算机科学中一门重要的核心课程,主要研究数据的逻辑结构、物理结构以及它们之间的相互关系,并为这些结构定义相应的操作算法。数据结构的选取直接影响着算法的效率和程序的性能。严蔚敏教授的《数据结构》是经典的教材之一,深入讲解了这一主题。 在数据结构的定义中,`typedef enum{ATOM,LIST}elemtag;`这部分定义了一个枚举类型`elemtag`,包含两个值:ATOM和LIST,这通常用于表示数据的不同类型或者状态。接着,`typedef struct glnode{...}`定义了一个名为`glnode`的结构体,它包含了`elemtag`类型的`tag`字段,用于标识节点的类型,以及一个联合体(union),这个联合体可以存储`atomtype`类型的数据或一个指向其他`glnode`结构的指针结构,这样的设计使得结构体可以灵活地存储不同类型的数据,比如原子型数据(ATOM)或列表型数据(LIST)。 数据结构主要包括线性结构、树形结构、图形结构等。在给定的例子中,`glnode`结构体可能用于构建链表,其中`ptr.hp`和`ptr.tp`分别指向链表中的前一个和下一个节点。链表是一种线性结构,允许在内存中非连续的位置存储元素,通过指针链接各个元素。 第一章绪论中,介绍了数据结构的基本概念和重要性。数据结构是计算机科学的基础,它探讨如何有效地组织和存储数据,以便于高效地访问和操作。例如,在电话号码查询系统中,选择合适的数据结构(如数组、链表或哈希表)会影响查找速度。在图书馆的书目检索系统自动化问题、教师资料档案管理系统或多叉路口交通灯的管理问题中,数据结构的选择同样至关重要。 1.1节中,数据结构被定义为数据的组织方式,包括数据的逻辑结构(数据如何在程序中表示)和物理结构(数据在内存中的实际布局)。此外,数据结构还包括对这些结构的操作集,即算法,这些算法保证在执行后仍保持原有的结构类型。 1.2节则进一步讨论了基本概念和术语,如数据(Data)、数据元素(Data Element)、数据结构(Data Structure)、逻辑结构(Logical Structure)、物理结构(Physical Structure)以及数据操作(Data Operations)。这些概念构成了数据结构理论的基础。 数据结构是计算机科学中不可或缺的一部分,它涉及数据的组织、存储和访问方法,对于编写高效、灵活的代码至关重要。严蔚敏教授的教材深入浅出地讲解了这些概念,是学习数据结构的重要参考资料。