算法设计与理论
大 作 业
班级: 三班
学号: 104972071127
姓名: 闫春香
第一题:
令则,则
代入g(n)=O(1)和f(n)=O(n):
代入g(n)=O(1)和f(n)=O(1):
第二题:
(1)该题的算法用的是多段图的向后处理算法,存储方式是用二维数组,a个资源投资n个项目,动态规划方程描绘如下:
在时:;
当时
,其中;
当时
为j个资源分配i-1个项目时所产生的最大效益,它表示的是一种状态;为项目i投资资源j时所产生的效益。
(2)算法设计思想如下:
首先画出多段图,用n+1段图来表示,每一段有a+1个节点,表示把j个资源分配1,2,…i-1个项目,边具有的形式,。
算法详细描述:
Procedure BGraph( int resource, int projectNum, int *g[])
//以下数组可以动态申请;projectNum+1 ×resource+1
int v[i][j];//v存放前 i-1个项目投资了j个资源时所产生的效益;
int p[i][j];//p存放结果,初始为0,如果g[i][j]选定则p[i][j]为1;同时表示第i个项目//应投资j个资源;
int d[i][j];//是存放路径;i表示第i+1段,j是第i+1段的某个节点,s=d[i][j]是i段的某个节点,该节点能使(i+1,j)产生最大值;
for i
原创力文档

文档评论(0)