逻辑结构和物理结构
记录一下最近开始学习的数据结构与算法
逻辑结构
是指数据对象中数据元素之间的相互关系。
- 集合结构
集合结构中数据元素,除了都属于一个集合外,无其它关系
- 线性结构
数据元素之间是一对一的关系
- 树形结构
数据元素之间存在一对多的关系
- 圆形结构
数据元素存在多对多的关系
物理结构
数据的逻辑结构在计算机中的存储形式
- 顺序存储结构
字面意思,把数据元素存放在地址连续的存储单元中
- 链式存储结构
数据元素将存放在任意位置,可以是连续的也可以是不连续的
算法的特性
算法具有五个基本特性:输入、输出、有穷性、确定性和可行性
-
输入输出
算法具有零个或多个输入,同时具有一个或多个输出 -
有穷性
算法执行有限的步骤之后,自动结束而不会出现无限循环,并且每个步骤在可接受的时间内完成 -
确定性
算法的每一步骤都有确定的含义,不会出现二义性(相同的输入只能有相同的结果) -
可行性
算法的每一步必须是可行的,也就是说,每一步都能够通过有限次数完成
算法设计的要求
设计的要求:正确性、可读性、健壮性、时间效率高和存储量低
- 正确性
算法的正确性是指算法至少应该具有输入、输出和加工处理无歧义性,能正确反映问题的需求,能够得到问题的正确答案 - 可读性
算法设计的另一种目的是为了便于阅读、理解和交流 - 健壮性
当输入数据不合法时,算法能做出相关处理,而不是产生异常 - 时间效率高和存储量低