数据结构与算法之二分查找,快速排序

159 阅读1分钟

二分查找条件: 原理: 取列表中间那个数,小于中间数和大于中间数分别放到lessList和MoreList,和查找的数比较,如果大于则用递归算法对MoreList进行调用,小于则走lessList,找到就返回

思想:分而治之

1.列表为有序列表

时间复杂度为 O(log2n)

m = log2n -> m推算=有m个2相乘等于n

快速排序

思想:分而治之

原理: 对数组取一个值,作为基准值,大的数放MoreList,小的数放lessList,并对MoreList和lessList进行递归调用。

基线条件 当数组的长度小于2

理想情况就是 分到不能再分,也就是list变为1,那么要执行 n / 2^m = 1,m为次数,n为数量,那么m = log2n

而分一次,进行插入操作进行n次

所以整体时间复杂度就是O(n*log2n)