第一章 绪论
1.1 数据元素 由数据组成,有一定意义的基本单位,在计算机中通常做整体处理。
1.2 数据 描述客观事物的符号;是输入给计算机处理的符号,是集合。
1.3 数据项 是数据最小的不可分割的单位;一个数据元素由若干个数据项组成。
1.4 数据结构 是相互之间存在的一种或多种特定关系的数据元素的集合。一个集合,很多元素,相互之间有特定关系
1.5 数据结构还分为 逻辑结构 和 物理结构
1.6 逻辑结构 一个数据对象中数据元素之间的关系。
1. 集合结构 类似数学中的集合;类似Java中数组但没有重复元素
2. 线性结构 数据元素之间是一对一的关系;
3. 树形结构 数据元素一对多的层次关系
4. 图形结构 数据元素多对多的关系
1.7 物理结构 数据的在计算机中的存储形式。
1. 顺序的存储结构 把数据元素存储在一个地址连续的存储单元里,
数据间逻辑关系和物理关系是一致的。类似排队打饭,数据在内存上开辟的是连续的内存空间。对应Java数组
2. 链式的存储结构 数据元素存放在任意的存储单元里,
这存储单元可以是连续也可以是不连续的。类似叫号排队,每个节点之间相互绑定。对应Java链表
第二章 算法
2.1 算法 算法是解决特定问题求解步骤的描述;在计算机表现为指令的有限序列,每条指令表现为一个或多个步骤
2.2 算法的特性
1. 输入输出 零个或多个输入 至少有一个输出或多个输出
2. 有穷性 算法在执行一定步骤后,会自动结束而不会死循环,并且在可接受的时间内
3. 确定性 每一个步骤有明确的含义
4. 可行性 每一个步骤可执行
2.3 算法设计要求
1. 正确性
2. 可读性
3. 健壮性
4. 时间效率高存储量低
2.4 算法的时间复杂度 分析T(n)关于问题规模n的函数,分析T(n)随着n的变化情况确定T(n)的数量级;T(n)表示语句总的执行次数,随着n的增大,T(n)增长最慢为最优算法。我称为大O记法
2.4 推导大O记法
1. 正确性
2. 可读性
3. 健壮性
4. 时间效率高存储量低