algorithm - 为算法的基本操作次数建立递归关系并求解

标签 algorithm recurrence

考虑以下算法

ALGORITHM Find(A[0..n‐1])
    if n ==1 return A[0]
    else temp = Find(A[0..n‐2])
    if temp ≤ A[n‐1] return temp
    else return A[n‐1]

a. What does this algorithm compute?
b. Set up a recurrence relation for the algorithm’s basic operation count and solve it.

此算法是否返回 A[0]、A[0..3]、A[0..5]、A[0.7]、A[0..8],或许对于 n=9?我走在正确的轨道上吗?

如果有人可以给我,我将不胜感激! 谢谢!

最佳答案

此算法将递归计算给定数组或元素列表的最小值

对于 n 的每个值。您计算 n 之前所有值的最小值(即 <= n - 1)。如果返回的值小于 value[n],则返回该值,否则返回 value[n]

当您只有一个元素时,基本情况是微不足道的。您将该值作为最小值返回。

关于algorithm - 为算法的基本操作次数建立递归关系并求解,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18675349/

相关文章:

快速排序的算法复杂度?

algorithm - 算法的递归方程

algorithm - 在 O(N) 时间和 O(1) 空间内分离数组的偶数和奇数位置

java - 解读 Dijkstra 算法

algorithm - 所需的最少比较次数

arrays - 将一个数组分成子数组,使它们的长度与异或的乘积之和最小

c - f(n) = n + f(floor(n/2)) 是否有封闭形式?

algorithm - 选择排序递归关系

algorithm - SUM 精确使用 K 元素解决方案

c++ - 计算变化数组中的预期反转次数