基础
数据结构与算法的关系
- 利用计算机目的:解决世界问题。在此之前要深入理解问题,能够建立其数学模型。
- 算法高度依赖于数据结构。合适的数据存储结构,有助于问题的解决。
- 数据结构定义:某些类型的数据在计算机中存储、组织的方式。数据结构的选择取决于问题本身需求。
- 数据结构与算法二者是同时出现,捆绑存在的。
解决实际问题时,考虑因素
- 数据对象在计算机中的组织方式
- 数据对象必定与一系列加在其上的操作相关联
- 完成这些操作所用的方法就是算法
数据结构
数据结构是一组数据的存储方式,这组数据内部的每个元素之间存在一定的关系。
逻辑结构
- 数据元素之间的逻辑关系,从用户角度看到的数据。
- 根据数据元素之间的关系,来划分数据结构,可分为:
- 集合:数据元素同属于一个集合,除此之外无其他关系
- 线性结构:数据元素是前后关系,一对一顺序相连的关系
- 树形结构:数据元素是一对多的关系,也可以成为层次关系,或者成为父子关系。每个结点只有一个直接上级,但可以有多个直接下级。
- 图结构:数据元素是多对多的关系。
物理存储结构
- 是数据的逻辑结构在计算集存储器内的表示(或映像),它依赖于计算机。
- 某一种逻辑结构对应了某一种物理存储结构。
- 计算机是算法的具体实施者。在处理数据元素时,借助元素之间的相互关系,实现对数据快速有效的处理。
- 顺序存储结构
- 链式存储结构
数据的运算
- 在数据的逻辑结构上定义的
- 在数据的存储结构上实现的
- 常用的数据运算:插入、删除、修改、查找、排序
抽象数据类型
用以表示应用问题的数据的模型。由基本的数据类型构成,并包括一组相关的服务(或称操作)。