数据结构–第一章概念总结
用于自己考研复习的笔记。
0. 教材
电子工业出版社 数据结构算法与分析第三版 Clifford A.Shaffer
清华大学出版社 数据结构(C语言版) 严蔚敏 吴伟民
我发现书2比书1好不止一点两点!!!!!!书一翻译的完全不知道在说啥,而且对于一些概念的定义还会很矛盾,而且湖大出的题,很多是2的课后题。。。我服了
1.数据
客观事物的符号表示## 数据元素数据的基本单位
2.数据项
数据不可分割的最小单位。一个数据元素可由若干个数据项组成
3.数据结构
相互之间存在一种或多种特定关系数据元素的集合。书2定义为二元组,Data Structure=(D,S),D表示数据元素的有限集,S是D上关系的有限集。
书一:包括三个方面的内容:数据的逻辑结构、物理存储结构和数据的运算。
4.抽象数据类型(ADT)
数据类型是一个值的集合和定义在这个值集合上的一组操作的总称。
数据类型可以分为原子类型(例如整形,字符型)和结构类型。
因此从某种意义上,数据结构可以看作是“一组具有相同结构的值” 。而抽象数据类型的定义仅仅取决于他的一组逻辑特性,与他在计算机内部如何表示,实现无关。
抽象数据类型和数据类型实质上是一个概念,“抽象”的意义在于数据类型的数学抽象特性。以整形为例,其值为某个区间上的整数(区间大小依赖于不同的机器) 定义在其上的操作为加减乘除等。
一个抽象的数据类型的软件模块通常包含定义和表示和实现用三元组(D, S,P): 数据对象、数据关系、基本操作
常用的物理存储表示方法有四种:
- 顺序存储方法:它是把逻辑上相邻的结点存储在物理位置相邻的存储单元里,结点间的 逻辑关系由存储单元的邻接关系来体现。由此得到的存储表示称为顺序存储结构。
- 链接存储方法:它不要求逻辑上相邻的结点在物理位置上亦相邻,结点间的逻辑关系是 由附加的指针字段表示的。由此得到的存储表示称为链式存储结构。
- 索引存储方法:除建立存储结点信息外,还建立附加的索引表来标识结点的地址。
- 散列存储方法:就是根据结点的关键字直接计算出该结点的存储地址。
逻辑结构有 线形结构,树型结构,图形结构,集合四种。
5.算法分析
书上有一些挺有意思的说法,上限,下限和Θ表示法