小编Mar*_*hof的帖子

R中的KnapSack动态编程具有递归函数

我在R中创建了这个简单的代码来解决带有递归功能的Knapsack程序

n <- c(0,1,2,3,4)
v <- c(10,40,30,50)
w <- c(5,4,6,3)
k <- 10


myfunction  <- function(n,k){
  if (n==0 | k==0){
  output <- 0
  } else if (w[i] > k) {
        output <- myfunction[i-1,w]
  } else {
        output <- max(v[i]+ myfunction(i-1, k-w[i]),myfunction(i-1,k))
      }
return(myfunction)
}
Run Code Online (Sandbox Code Playgroud)

但是,我没有得到一个值作为输出,而是整个函数.例如,如果我输入:myfunction(4,10)

我没有得到90的值,但整个功能输出.

在此输入图像描述

这些是价值观

recursion r knapsack-problem

4
推荐指数
1
解决办法
1850
查看次数

标签 统计

knapsack-problem ×1

r ×1

recursion ×1