假设有序数组中共有n个元素。需要找到某个元素在数组中的索引。
那么利用二分查找,每次都找中间值与目标值进行比较,从而排除数组中一半的元素。
最坏情况下:
刚开始数组中的元素个数为 n
第一次查找后排除一半的元素,剩余元素个数
第二次查找后又排除一半的元素,剩余元素个数为
一次类推,直到进行了 x 次查找后,找到了该元素,此时数组中剩余元素个数为 。
此时,数组中还剩下唯一的元素也就是目标值,所以此时数组中剩余元素个数为 1。
故得到公式 ,由此可得,查找次数
假设有序数组中共有n个元素。需要找到某个元素在数组中的索引。
那么利用二分查找,每次都找中间值与目标值进行比较,从而排除数组中一半的元素。
最坏情况下:
刚开始数组中的元素个数为 n
第一次查找后排除一半的元素,剩余元素个数
第二次查找后又排除一半的元素,剩余元素个数为
一次类推,直到进行了 x 次查找后,找到了该元素,此时数组中剩余元素个数为 。
此时,数组中还剩下唯一的元素也就是目标值,所以此时数组中剩余元素个数为 1。
故得到公式 ,由此可得,查找次数