一 计算机科学
- 信息表示:
- 信息处理:
- 早期计算机做的事情:
1 数值计算
2 非数值计算
一 数据结构
- 数据结构是围绕非数值计算问题的一门科学
- 数据结构是计算机存储、组织数据的方式,是指相互之间存在一种或多种特定关系的数据元素的集合
1 建立问题的数据模型
1. 数据的组成结构
2. 数据的关联方式
3. 实施相应运算后,数据组成结构的完整性
2 完整性
3 数据结构的两个层次
a 逻辑结构
数据元素间抽象化的互相关系,与数据的存储无关,独立于计算机,
它是从具体问题抽象出来的数学模型。反映数据元素之间的逻辑关系
- 线性结构
①性质: 有且仅有一个开始和一个开端结点,
并且所有结点都最多只有一个直接前驱和一个后继
②例子: 线性表、栈、队列等
- 非线性结构
[^性质]: 一个结点可能有多个直接前驱和后继
[^例子]: 树、集合、图等
b 存储结构
数据元素及其关系在计算机存储器中的存储方式
- 顺序存储结构
①在内存中数据按顺序依次连续存储(如:数组)
- 链式存储结构
①在内存中数据可以按次序进行依次连续存储
②也可以不连续存储,通过指示元素存储地址的指针来表示数据元素之间的逻辑关系
③如:链表
二 数据算法
算法是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令。
它代表着用系统的方法描述解决问题的策略机制
1 算法特征
- 输入项
- 输出项
- 确定性:每个步骤必须是确定,无歧义的
- 有穷性:必须能在执行有限个步骤之后停止
- 有效性:每个步骤都可以在有限时间内完成
2 算法评价
- 正确性
- 高效性(时间复杂度&空间复杂度)
- 健壮性
- 可读性