二进制搜索算法的平均性能?

时间:2010-04-25 18:00:39

标签: c algorithm

  

可能重复:
  Average performance of binary search algorithm?

http://en.wikipedia.org/wiki/Binary_search_algorithm#Average_performance

BinarySearch(int A[], int value, int low, int high)
{
    int mid;
    if (high < low)
        return -1;
    mid = (low + high) / 2;
    if (A[mid] > value)
        return BinarySearch(A, value, low, mid-1);
    else if (A[mid] < value)
        return BinarySearch(A, value, mid+1, high);
    else
        return mid;
}

如果我想要查找的整数总是在数组中,有人可以帮我编写一个可以计算二进制搜索算法平均性能的程序吗?我知道我可以通过实际运行程序和计算调用次数来做到这一点,但我在这里要做的就是在不调用函数的情况下完成它。我不是要求时间复杂度,我正在尝试计算平均呼叫次数。例如,在A [2]中找到整数的平均调用次数,它将是1.67(5/3)。

0 个答案:

没有答案