首先是对于数据结构及算法的概念性质理解
数据结构与算法:
数据结构: 描述 从现实中 抽象出 数据模型 即 数据关系的抽象
逻辑结构: 数据之间的 逻辑关系
表: 线性结构 队列,栈, 数据之间是线性关系 一一对应
树: 非线性结构 1对多
图: 非线性结构 多对多
存储结构: 对数据 以及 数据关系的 存储
连续存储: 将所有数据放到一起 数组
离散存储: 数据可能分布在内存的 不同位置
对数的操作(算法):
不是简单的数值操作 而是一些 逻辑操作
增: 增加数据
删: 删除数据
改: 修改数据
查: 查找或遍历数据
算法: 就是对 某个动作的 操作流程 或步骤
算法特性:
1. 可行性 可以实现 每个计算步骤能够在有限的时间内完成
2. 确定性 没有歧义 步骤唯一且确定
3. 有穷性 有明确的目标且可到达 步骤是有限的
4. 有一个或多个输入
5. 有一个或多个输出
常见数据数据:
1. 表结构 线性结构
数据逻辑组织为表形式,逻辑上,数据是连续排列的
每个节点(除头尾外),都有且仅有一个 前驱 和 一个后继
头节点 只有后继 没有前驱
尾节点 只有前驱 没有后继
节点: 数据逻辑的最小单元
C中 数组 就是 表结构
存储结构:
顺序存储: 数组存储
顺序表 :存储上连续存储,逻辑上是表结构
离散存储: 链式存储
链表: 存储上使用离散存储, 逻辑上是表结构