二分查找算法还不会?看看我精心为你准备的这个动画吧   2020-12-27 00:25:05

七哥陪你学算法 二分查找 二分查找是一种算法,它给定一个有序的元素列表,和一个元素,如果这个元素在列表中二分查找就返回其位置,否则返回null 一个小游戏带你了解二分查找算法 我随便想一个1~100的数字,你的目标是以最少的次数猜到这个数字,你每次猜后我会说大小、小了、对了 1 2 ... 100 50 小了 75 大了 63 大了 57 对了! 恭喜你,你已经学习了二分查找算法 每次猜测排除的数字情况: 100个值 50 13 7 4 2 1 7步搞定 不管我心里想的是哪个数字,你在7次之内都能猜到,因为都次都能排除剩下数字的一半。 240000个值,使用二分查找需要多少步? 17步 对于包含n个元素的列表,用二分查找最多需要log2n步,而如果从头遍历去查找则最多需要n步 时间复杂度 傻找 二分查找 100个元素最多需要100次 100个元素最多需要7次 4000 000 000个元素最多需要4000 000 000次 4000 000 000个元素最多需要32次 O(n) O(log n) 1. 二分查找依赖顺序表结构,即数组; 2. 数据量太小不适合二分查找; 3. 数据量太大也不适合二分查找; 如果数据无序可以使用二分查找? 注意事项