有以下查找算法: int fun(int a[],int n,int k) { int i; for (i=0;i<n;i+=2) if (a[i]==k) return i; for (i=1;i<n;i+=2) if (a[i]==k) return i; return -1; } (1)指出fun(a,n,k)算法的功能。 (2)当a[]={2,6,3,8,1,7,4,9}时,执行fun(a,n,1)后的返回结果是什么?一共进行了几次比较。 (3)当a[]={2,6,3,8,1,7,4,9}时,执行fun(a,n,5)后的返回结果是什么?一共进行了几次比较。
时间: 2023-07-14 11:11:45 浏览: 52
1. 这个算法的功能是在给定的数组a中查找元素k,如果找到了就返回它的下标,否则返回-1。
2. 当a[]={2,6,3,8,1,7,4,9}时,执行fun(a,n,1)后的返回结果是4,一共进行了3次比较。第一次比较a[0]和1,第二次比较a[2]和1,第三次比较a[4]和1,找到了1的下标是4。
3. 当a[]={2,6,3,8,1,7,4,9}时,执行fun(a,n,5)后的返回结果是-1,一共进行了4次比较。第一次比较a[0]和5,第二次比较a[2]和5,第三次比较a[4]和5,第四次比较a[6]和5,都没有找到5,返回-1。
相关问题
有以下递归算法: void fun(int n){ if(n>0) printf("8d",n); fun(n-1); fun(n-1); 执行fun(3)的输出是_。
执行fun(3)的输出为:3 2 1 1 2 1 1。
首先,fun(3)会输出3,因为n为3大于0。然后,fun(3)会递归调用fun(2)和fun(2)。
对于fun(2),它会输出2,因为n为2大于0。然后,fun(2)会递归调用fun(1)和fun(1)。
对于fun(1),它会输出1,因为n为1大于0。然后,fun(1)会递归调用fun(0)和fun(0)。
对于fun(0),它不会输出任何内容,因为n为0不大于0。
现在回到fun(1)的第二个递归调用,它也会输出1,因为n为1大于0。然后,它会递归调用fun(0)和fun(0)。
现在回到fun(2)的第二个递归调用,它会输出2,因为n为2大于0。然后,它会递归调用fun(1)和fun(1)。
现在回到fun(1)的第二个递归调用,它也会输出1,因为n为1大于0。然后,它会递归调用fun(0)和fun(0)。
因此,最终输出的序列为:3 2 1 1 2 1 1。
4.有以下算法,其时间复杂度为( )。 Void fun(int n){ int i=0; While(i*i*i<=n) i=i++; } A.O(n) B.O(nlogn) C.O() D.O()
根据给出的算法,可以看出循环的条件是 i 的立方小于等于 n。在每次循环中,i 的值会递增,并且循环次数取决于 i 的增长速度。因为 i 是从 0 开始递增,直到 i 的立方大于 n,所以循环次数近似等于 n 的立方根。因此,该算法的时间复杂度是 O(n^(1/3))。选项 C 和 D 都是空白选项,没有给出具体的时间复杂度,所以正确答案应该是空白选项。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)