第二章 向量
day12
a 接口与实现
a1 接口与实现
a2 向量ADT
a3 操作实例
search接口,如果未找到对应的数,返回向量中不超过这个数的最大的数的index,如果都超过了这个数,返回-1,如果这个数重复多次,返回一系列index中最大的。
a4 构造与析构
a5 复制
b 可扩充向量
b1 可扩充向量
b2 动态空间管理
b3 递增式扩容
b4 加倍式扩容
空间换取时间
day13
b5 分摊复杂度
c 无序向量
c1 无序向量
c2 循秩访问
c3 插入
c4 区间删除
c5 查找
c6 单元素删除
c7 唯一化
c8 遍历
d 有序向量
d1-1 有序性
d1-2 唯一化(低效版)
d1-3 复杂度(低效版)
d1-4 唯一化(高效版)
d1-5 实例与分析(高效版)
d2 有序向量:二分查找
d2-2 接口
d2-3 语义
d2-4 原理
d2-5 实现
d2-6 实例
d2-7 查找长度
d3-1 fib查找构思
d3-2 fib查找实例长度
d3-3 fib查找实现
d3-4 fib查找最优
d4-1 二分查找改进构思
d4-2 二分改版本B
d4-3 二分改语义
d4-4 二分改版本C
d4-5 二分改正确性
不断的压缩空间直到 lo==hi,区间长度为0时,则lo前面一项就是我们要找的
e冒泡排序
e1 冒泡排序构思
e2 改进
e3 反例
图中红色部分代表有序元素,绿色代表无序元素,如果能提前检测出红色部分是有序的,可以将时间复杂度降低到O(n).
e4 再改进
相应的复杂度的变化如上图
e5 综合评价
f归并排序
f1 归并排序思想
C.B.A:基于比较的排序算法
f2 主算法
f3 二路归并-实例
f4 二路归并-实现
f5 二路归并-正确性
各种归并情况,不会出现数据遗漏或被覆盖
f6 二路归并-复杂度
开始看第三章