什么是数据结构与算法?
- 数据结构是数据对象在计算机中的组织方式(逻辑结构和物理存储结构)
- 数据对象比对与一系列加在其上的操作相关联,实现这些操作的方法就叫做算法
数据结构
逻辑结构
反应数据元素之间的逻辑关系。逻辑关系是指数据元素之间的前后关系,而与在计算机中的存储位置无关。
- 集合结构——数据元素属于一个集合,元素之间属于并列关系。
- 线性结构——元素存在一对一的相互关系。
- 树形结构——元素存在一对多的相互关系。
- 图形结构——元素存在多对多的相互关系。
物理存储结构
物理结构又称存储结构。是指数据的逻辑结构在计算机存储空间的存放形式。
- 顺序存储结构——把数据元素存储在地址连续的存储单元里,其数据间的逻辑关系和物理关系是一致的。数组就是顺序存储结构的典型代表。
- 链式存储结构——把数据存储在任意的存储单元里,这些数据在内存中的地址可以是连续的,也可以是不连续的。链式存储结构的数据元素之间是通过指针来连接的。
算法
算法(Algorithm)
- 可以有0或多个输入
- 至少产生一个输出
- 确定性:每一条指令必须有充分明确的目标,不可以有歧义
- 有限性:有限的指令集,一定是在有限步骤之后终止
算法需要在计算机能处理的范围内
算法描述的手段必须要抽象,不依赖于任何一种具体的计算机语言和具体的实现手段