第一章、绪论
1.1什么是数据结构
1、数据元素是数据的基本单位,在计算机程序中通常作为一个整体考虑和处理
2、一个数据元素可以由若干个数据项构成,数据项是数据的不可分割的最小单位
3、数据对象是性质相同的数据元素的集合,是数据的一个子集
4、数据结构是相互之间存在一种或多种特定关系的数据元素的集合,
包括逻辑结构,存储结构和数据的运算。其中一个算法的设计取决于逻辑结构,实现依赖于存储结构
5、四类基本的数据结构
集合:集合中的数据元素除了“同属于同一集合”外再无关系
线性结构:只存在一对一的关系
树形结构:存在一对多的关系
图状或网状结构:存在多对多的关系
6、数据结构的二元组定义式:(D,S):D表示数据元素的有限集合,S表示D上关系的有限集合
1.2数据结构的三要素
1.逻辑结构:表示数据结构间的逻辑关系,与存储结构无关。可以分为线性结构和非线性结构。
2.存储结构:数据结构在计算机中的表示,数据的存储结构是由计算机语言实现的逻辑结构,主要包括顺序存储,链式存储,散列存储,索引存储。
注:对链式存储,结点内的存储空间是连续的,结点之间的存储空间是可以不连续的。
[做错的题]:
循环队列是用顺序表表示的队列,是一个完整的数据结构,包含了逻辑结构和物理结构,链表是链式的,哈希表是散列的。
1.3算法的基本概念
1、 算法的五个特性:有穷性,确定性,可行性,输入,输出。
2、一个好的算法应该达到的目标:正确性,可读性,健壮性,效率与低存储量需求。
3、如果一个算法的空间复杂度为常数,叫做“原地工作”。