PHP贪婪算法解决0-1背包问题实例分析

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了PHP贪婪算法解决0-1背包问题实例分析脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

本文实例讲述了PHP贪婪算法解决0-1背包问题的方法分享给大家供大家参考。具体分析如下:

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

weight=$weight;
    $this->PRice=$price;
  }
}
//生成数据
$n=10;
for($i=1;$i<=$n;$i++){ $weight="rand(1,20);" $price="rand(1,10);" $x[$i]="new" tanxin($weight,$price);="" }="" 输出结果="" function="" display($x)="" {="" $len="count($x);" foreach($x="" as="" $val){="" echo="" $val-="">weight,' ',$val->price;
    echo '
'; } } //按照价格和重量比排序 function tsort(&$x) { $len=count($x); for($i=1;$i<=$len;$i++) {="" for($j=""><=$len-$i;$j++) {="" $temp="$x[$j];" $res="$x[$j+1]-">price/$x[$j+1]->weight; $temres=$temp->price/$temp->weight; if($res>$temres){ $x[$j]=$x[$j+1]; $x[$j+1]=$temp; } } } } //贪心算法 function tanxin($x,$totalweight=50) { $len=count($x); $allprice=0; for($i=1;$i<=$len;$i++){ if($x[$i]-="">weight>$totalweight) break; else{ $allprice+=$x[$i]->price; $totalweight=$totalweight-$x[$i]->weight; } } if($i<$len) $allprice+="$x[$i]-">price*($totalweight/$x[$i]->weight); return $allprice; } tsort($x);//按非递增次序排序 display($x);//显示 echo '0-1背包最优解为:'; echo tanxin($x);

脚本宝典总结

以上是脚本宝典为你收集整理的PHP贪婪算法解决0-1背包问题实例分析全部内容,希望文章能够帮你解决PHP贪婪算法解决0-1背包问题实例分析所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。