【发布时间】:2020-11-08 07:14:04
【问题描述】:
以下代码的递归关系是什么以及如何解决它们?
public class LinearSearchUsingRecursion
{
public static int linearSearch(int array[], int i, int n, int k)
{
if(i == n)
{
return -1;
}
if(array[i] == k)
{
return i;
}
i = i + 1;
return linearSearch(array, i, n, k);
}
public static void main(String[] args)
{
int array[] = {5,8,7,9,6,0};
int n = array.length;
int k = 9;
int pos = linearSearch(array, 0, n, k);
System.out.println("Position : " + pos);
}
}
我试过了,我得到了:-
T(n) = T(i+1) + 1
T(1) = 1
正确吗? 我们如何用 n 表示 i 并解决它?
【问题讨论】:
标签: java algorithm recursion time-complexity linear-search