*底层数据结构*:数组(时间复杂度为O(logn))(如果用链表来实现数据结构,本身访问时间复杂度为O(n),这样二分查找的时间复杂度就会很高)
*适用场景*:1.有序的数据结构
2.适用于不太频繁的插入、删除操作的静态数据结构(如果是太过频繁操作排序的成本太高)
3.适用于数据量不太小也不太大(数据量太小,没太大优势,数据量太大,数组需要一段连续的空间)
*缺点*:1.二分查找适用的场景要求比较高,首先是需要一段连续的空间分配
2.需要有序的数据结构来进行查找,属于静态的;动态的查找选择二叉树、散列表会更好。
二分查找一些小细节
最新推荐文章于 2022-09-01 19:41:44 发布