概念
数据结构:相互之间存在一种或多种特定关系的数据元素的集合。
关系
逻辑结构----关系
集合,所有数据在同一个集合中
线性,数据和数据之间是一对一的关系
树,一对多
图,多对多
物理结构(在内存当中的存储关系)
顺序存储,数据存放在连续的存储单位中。逻辑关系和物理关系一致
链式,数据存放的存储单位是随机的,可以连续也可以不连续
术语
数据的类型
是指一组性质相同的值的集合及定义在此集合上的一些操作的总称。
原子类型,int, char, float
结构类型,sturct, union,
抽象数据类型,数学模型+操作。
程序 = 数据 + 算法
算法概念
是解决特定问题求解步骤的描述,计算机中表现为指令的有限序列,每条指令表示一个或多个操作。
算法的特征
1、输入,输出特性,输入时可选的,输出时必须的。
2、有穷性,执行的步骤会自动结束,不能是死循还,并且每一步是在可以接受的时间内完成。
3、确定性,同一个输入,会得到唯一的输出。
4、可行性,每一个步骤都是可以实现的。
算法的设计
1、正确性:
语法正确
合法的输入能得到合理的结果。
对非法的偷入,给出满足要求的规格说明
对精心选择,甚至刁难的测试都能正常运行,结果正确
2、可读性:便于交流,阅读,理解
3、健壮性:输入非法数据,能进行相应的处理,而不是产生异常
4、高效:存储低,效率高
算法时间复杂度
执行这个算法所花时间的度量
推导时间复杂度
1,用常数1 取代运行时间中的所有加法常数
2,在修改后的运行函数中,只保留最高阶项。
3,如果最高阶存在且不是1,则取除这个项相乘的常数。