本文介绍了用PHP贪婪算法求解0-1背包问题的一种方法,供大家参考,具体分析如下:

贪心算法解决了0-1背包问题,通过局部最优解得到全局最优解,比动态规划更灵活地解决背包问题!


0-1背包贪婪算法问题
类谭鑫{
公共重量;
公共价格;
公共功能__construct(重量= 0美元美元,价格= 0)
{
美元=重量=重量;
美元=价格=价格;
}
}
数据
$ = 10;
对于($ i = 1;$ i = $;$;$ + +){
$重量=兰特(中);
美元价格=兰特(1,10);
X元{ $我} =新谭鑫(合量,美元价格);
}
输出结果
函数显示(x)
{
$ = =(x);
foreach(X元至Val){
$>重量,$;
回声';
}
}
按照排序的价格和重量比率/
功能tsort(X元)
{
$ = =(x);
为($我= 1;美元美元美元我<= len;i++)
{
对于($ = 1;$ j =
{
$;
$ = $ $ J + J 1 } -价格1美元;
temres美元美元=温度>价格/美元临时->重量;
如果(合物> temres美元){
x $ $ $ } = $ x J + $ 1 };
$ x $ J + 1 } = $;
}
}
}
}
贪婪算法
函数的Tanxin(X元,总重量= 50美元)
{
$ = =(x);
allprice = 0美元;
为($ = 1;$ i = $;
如果(X元{我} ->重>总打破美元);
别的{
allprice美元= X元{我} ->价格;
总重量=总重量-美元美元美元美元X {我} ->重量;
}
}
如果($尔·普赖斯*($总重量/ X元{我} ->重量);
返回的allprice;
}
Tsort(X元); / /订单不增加排序
显示($ x);
回声'0-1背包的最佳解决方案是:';
Echo Tanxin(X);


希望本文能对大家的PHP程序设计有所帮助。