一.数据结构的基础概念:
- 数据,数据对象,数据元素,数据项
- 数据结构
- 数据类型和抽象数据类型
二.算法的基本概念
- 算法和数据结构的关系
- 算法的要求
- 算法的复杂度
1.1四者关系
数据指的是整张表,而数据对象指的是总部这种全集合的子集,数据元素指的是独立的一个人,而数据项就是这个元素的“姓名”,“职务”此类为最小的不可分割的单位;
1.2数据结构:
1.2.1定义:
简单点来说就是数据之间的关系;
1.2.2分类:
数据结构分为逻辑结构和物理结构,可以理解逻辑结构是将数据结构抽象出来的数学模型,着重反应了数据元素间的关系,而物理结构是其对应在计算机内存上的存储方式,二者相辅相成;
1.2.3逻辑结构:
*集合结构
*顺序结构
*树形结构
*图形结构
1.2.4物理结构:
顺序结构
链式结构
1.3数据类型:
数据类型是指性质相同的值的集合和其相应的操作的总称,如高级程序语言中的int char double;
1.4抽象数据类型
抽象数据类型是指一个数学模型和对应操作,如复数;抽象的意义在于其数学抽象特性;
2.1算法和数据结构的关系
算法+数据结构=程序
2.2算法的要求:
。。。
2.3算法的效率问题:
2.3.1两种算法的效率计算方法
算法的效率分为事后统计法和事前分析估算法;后者更优;
2.3.2算法的事前分析估算法
1.算法的时间复杂度( T(n) ):
通过算法的基本操作次数来衡量算法的时间,并将其记做f(n)(n是输入规模),将对f(n)进行大O运算所得称为算法的时间复杂度;
2.大O运算
随着n趋向正无穷时,f(n)中主导增长的一项的归一系数项(个人总结,比较绕,看例子可知),比如f(n)=3n^5+6n,则O(f(n))=n^5,通过此方法可以将不同的f(n)统一化,方便比较;
3.几种常见的时间复杂度和大小关系