文章目录
无序向量
a. 接口与实现
search:不超过这个元素的最大的元素
b.可扩充向量
c.无序向量
有序向量
a.唯一化
b.有序向量:二分查找
- 用小于号 ,不用大于号 ,容易理解, 从小到大排列
有序向量:Fibonacci查找
c.有序向量:二分查找(改进)
d.有序向量:插值查找
n的数值 n的二进制数位宽度 (字宽折半)
起泡排序
可能有部分元素有序,甚至全部为有序
实例
实际影响的是前缀中的后缀的元素,令后缀元素逐个就位,直至所有前缀元素就位找出根号n的前缀,即使采用原始的冒泡排序也就是n2最坏的情况依然是n**2
差异在一般的情况
归并排序
上界n2—下界nlogn
对于c,B提前耗尽,c就在A里面,只需考虑B提前耗尽的情况,一旦B提前耗尽,就终止算法,进一步提高算法效率
虚拟哨兵
按数量级递增排列,常见的时间复杂度有:常数阶O(1),对数阶O(log2n),线性阶O(n),线性对数阶O(nlog2n),平方阶O(n^2),立方阶O(n ^ 3)