数据结构:
数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在的一种或多种特定关系的数据元素的集合。
它包括逻辑结构、存储结构、定义在数据结构上的基本运算以及运算实现的算法。
逻辑结构
数据的逻辑结构是从具体问题抽象出来的数学模型,是描述数据元素之间的关联关系或“邻接关系”,有时就把逻辑结构成为数据结构。它分为以下四类:
- 集合结构
- 线性结构
- 树形结构
- 图结构
四种数据结构中各数据元素之间的关系如下:
数据结构 | 数据元素关系 |
---|---|
集合 | 同属于一个集合 |
线性结构 | 一对一 |
树形结构 | 一对多 |
图结构 | 多对多 |
存储结构
数据的逻辑结构在计算机中的实现成为数据的存储结构。它包括以下四种:
- 顺序存储
- 链式存储
- 索引存储
- 散列存储(哈希表)
其中,顺序存储结构是一种最基本的存储表示方式,通常借助于程序中的数组实现。
基本运算
运算是指在某种逻辑结构上施加的操作,即对逻辑结构的加工。一般来说,每个逻辑结构上,都定义了一组基本运算,这些运算包括:建立、查找、读取、插入和删除等。
联系数据结构的定义,线性结构中的线性表、栈和队列中的元素具有相同的逻辑结构,但是含有不同的运算集,所以可以把它们看作是不同的数据结构。
算法实现
数据的运算通过某种算法实现。
评价算法好坏的因素包括以下几个方面:
-
正确性:能够正确地实现预定的功能
-
易读性:容易阅读和理解,便于调试修改扩充
-
健壮性:输入非法数据时,不会产生预料之外的运行结果
-
时空性:它包括时间性能和空间性能
其中,可以将算法的基本操作次数作为该算法的时间度量,将辅助变量所占的空间作为算法的空间复杂度,但是有的题目中会直接给出时间函数,这时候我们可以直接计算n→∞时函数的极限求得算法的时间复杂度。