一、数据结构的基本概念
1.1 数据结构的研究内容
1.2 数据类型和抽象数据类型
抽象数据类型(ADT)定义举例:Circle的定义
ADT 抽象数据类型名{
Data
数据对象的定义
数据元素之间逻辑关系的定义
Operation
操作1
初始条件
操作结果描述
操作2
......
操作n
......
}ADT 抽象数据类型名
ADT Circle{
数据对象:D={r,x,y|r,x,y均为实数}
数据关系:R={<r,x,y>|r是半径,<x,y>是圆心坐标}
基本操作:
Circle(&C,r,x,y)
操作结果:构造一个圆。
double Area(C)
初始条件:圆已存在。
操作结果:计算面积。
double Circumference(C)
初始条件:圆已存在
操作结果:计算周长
......
}ADT Circle
如何处理杂乱无章且多样化的数据:
数据元素:数据中的个体被称为数据元素。
数据对象:性质相同的数据元素组成的集合。
数据结构:数据元素加上数据元素之间的关系,就形成了数据结构。
逻辑结构:数据结构的逻辑模型。主要有集合结构,线性结构,树形结构,图状结构。
存储结构:数据结构映射到内存的表示方式。主要有顺序结构,链式结构,索引结构和散列结构
抽象数据类型:数据结构加上操作后就形成了抽象数据类型,主要包括数据对象,数据关系,基本操作。
上述概念总结如下图所示:
1.3 算法和算法分析
1.3.1 算法的时间复杂度
对于复杂的算法,可以将它分成几个容易估算的部分,然后利用大O加法法则和乘法法则,计算算法的时间复杂度:
- a)加法规则
T(n)=T1(n)+T2(n)=O(f(n))+O(g(n))=O(max(f(n),g(n))) - b)乘法规则
T(n)=T1(n)*T2(n)=O(f(n))*O(g(n))=O(f(n)*g(n))
1.3.2 算法时间效率的比较
设计好算法的过程:文章来源:https://www.toymoban.com/news/detail-416694.html
- 1、在对具体问题进行分析时,我们提取出需要处理的数据对象和数据对象之间的关系,便得到了数据的逻辑结构。
- 2、根据数据的逻辑结构我们选择合适的存储结构。
- 3、数据存储完后根据算法的时间和空间复杂度选择合适的算法对数据进行处理。
1.4 知识回顾
文章来源地址https://www.toymoban.com/news/detail-416694.html
到了这里,关于【数据结构与算法】一、数据结构的基本概念的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!