什么是数据结构?
程序设计 = 数据结构 + 算法
数据结构就是关系,数据元素相互之间存在的一种或多种特定关系的集合
数据结构分为 逻辑结构和物理结构
- 逻辑结构 :是指数据对象中数据元素之间的相互关系
- 物理结构:是指数据的逻辑结构在计算机中的存储形式
四种逻辑结构
- 集合结构: 集合结构中的数据元素除了属于同一中集合之外,不存在其他关系
- 线性结构:数据元素之间是一对一的关系
- 树形结构:数据元素之间存在一对多的层次关系
- 图形结构:数据元素是多对多的关系
数据结构的存储结构型式有两种:顺序存储和链式存储
- 顺序存储:把数据元素存放在地址连续的存储单元里,其数据间的逻辑关系和物理关系是一致的
- 链式存储:把数据元素存放在任意的存储单元里,这组存储单元可以是连续的也可以是不连续的,需要通过指针来存放数据元素的地址
什么是算法?
算法就是解决特定问题求解步骤的描述,在计算机中表现为指令的有限序列,并且每天指令表示一个或多个操作
算法具有五个基本特征:
输入、输出、有穷性、确定性、可行性
算法具有0个或者多个输入
算法至少有一个或者多个输出
算法的每一个步骤都具有确定的含义,不会出现二义性,算法在一定的条件下,只有一条执行路径,在相同的输入下具有相同的输出,算法的每一步都应该被精确定义而无歧义
算法的每一步都必须是可行的,每一步都能够通过执行有限次数完成