校招刷题群
高效刷题 迎战校招
校招精选试题
近年面笔经面经群内分享
Java刷题群 前端刷题群 产品运营群
首页 > 算法 > 动态规划算法
题目

最优二叉搜索树问题的动态规划算法(设函数名 binarysearchtree)

解答
void binarysearchtree(int a[],int b[],int n,int **m,int **s,int **w)

{

int i,j,k,t,l;

for(i=1;i<=n+1;i++)

{

w[i][i-1]=a[i-1];

m[i][i-1]=0;

}

for(l=0;l<=n-1;l++)//----l 是下标 j-i 的差

for(i=1;i<=n-l;i++)

{

j=i+l;

w[i][j]=w[i][j-1]+a[j]+b[j];

m[i][j]=m[i][i-1]+m[i+1][j]+w[i][j];

s[i][j]=i;

for(k=i+1;k<=j;k++)

{

t=m[i][k-1]+m[k+1][j]+w[i][j];

if(t<m[i][j])

{

m[i][j]=t;

s[i][j]=k;

}

}

}

}


C 0条回复 评论

帖子还没人回复快来抢沙发