这本书要我们学会什么呢?要求我们能够掌握数据的逻辑结构、存储结构基基本运算的实现,能够对算法进行基本的时间复杂度与空间复杂度的分析,能够运用数据结构的基本原理和方法进行问题分析与求解,并具备采用计算机语言设计与实现算法的能力(emmm)。
第一章 绪论
一、
要点:
(1)数据结构的定义,其包含的逻辑结构、存储结构的运算
(2)数据结构和数据类型的区别和联系
(3)算法的定义基特性,重点掌握算法的时间复杂度和空间复杂度分析
1.数据项:具有独立含义的数据最小单位,也称为”域“。
2.数据元素:是数据的基本单位,由若干个数据项组成(如,表格中的一行(列)数据则可称为一个数据元素)。
3.数据对象:性质相同的有限个数据元素的集合,是数据的一个子集。
4.数据结构:【数据对象+关系】所涉及的数据元素的集合和他们之间的关系,也称带结构的数据元素的集合。
二、
1、逻辑结构(逻辑关系),是数据结构在用户面前呈现的形式、
可以用二元组表示数据的逻辑结构:B=(D,R)
逻辑结构的类型:
1.集合:除了”同属一个集合外“,没有其他关系
2.线性结构:有且仅有一个开始元素和终端元素,唯一前驱,唯一后继
3.树形结构:有且仅有一个开始元素,唯一前驱,多个后继
4.图形结构:多个前驱,多个后驱
2、存储结构(存储关系、数据的物理结构),【数据结构】数据元素及其关系在计算机存储器中的存储方式。
存储结构是逻辑结构在内存中的映像。逻辑结构是面向用户的,存储结构是面向计算机的
1.顺序存储:逻辑上相邻的元素存储在物理位置上也相邻的存储单元中。如,数组
2.链式存储:可以不相邻,用指针表示下一个数据元素的存储地址。
3.索引存储:建立附加的索引表,索引项(关键字,地址)
4.哈希(或散列)存储:根据元素关键字通过哈希函数计算该元素的存储地址
3、数据的运算,运算的定义是针对逻辑结构,运算实现是针对存储结构。
基于逻辑结构的功能描述/运算功能,基于存储结构的功能实现/运算实现(的核心是设计实现某功能的处理步骤,即算法设计)