BinarySearch 二分查找法(折半查找法)
Last updated
Last updated
(2) Search函数第3-8行:比较和,若则找到结果,若则在继续寻找,若则在继续寻找;
若,可以直接找到:
若,则令之后继续搜索:
若,则令之后继续搜索:
Search函数的输入规模为,该函数中最多有1次加法、1次除法、3次比较操作,因此时间复杂度为
BinarySearch函数的输入规模为,每次调用Search函数后的值都会减小一半,即
假设递归层数为,可得:
将代入原始递推公式,可得:
该算法时间复杂度为,空间复杂度为。