二分法相当于不断等分分割一组数组,并在分割得到的两个子数组中,找到一个符合条件的数组继续分割,一次循环知道子数组的元素个数为1.
可见,二分法的查找过程相当于在一颗二叉树中寻找一条从root节点到叶节点的路径,二叉树的每一层是所有可能的分割子数组,其中root节点的数值是最开始的数组数量总数N,其他节点的是其父节点的数组数值的二分之一,所有叶节点的数值是1。
因此,可以知道,二叉树的层数就是二分法的调用次数,调用次数就是二分法的时间复杂度,有:
N/(2n) = 1;
-> N = 2n;
-> n = log2N;
所以,时间复杂度是logN.
二分法时间复杂度
于 2022-05-05 10:30:00 首次发布
本文深入探讨了二分法在查找过程中的运作机制,将其比喻为一棵二叉树的遍历,从根节点到叶节点的路径代表查找过程。通过分析,得出二分法的时间复杂度为logN,强调了二分法在数组搜索中的高效性。

3724

被折叠的 条评论
为什么被折叠?



