PHP如何使用贪婪算法解决0-1背包问题
发表于:2025-01-17 作者:千家信息网编辑
千家信息网最后更新 2025年01月17日,这篇文章主要为大家展示了"PHP如何使用贪婪算法解决0-1背包问题",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"PHP如何使用贪婪算法解决0-1背包问题"
千家信息网最后更新 2025年01月17日PHP如何使用贪婪算法解决0-1背包问题
这篇文章主要为大家展示了"PHP如何使用贪婪算法解决0-1背包问题",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"PHP如何使用贪婪算法解决0-1背包问题"这篇文章吧。
具体分析如下:
贪心算法解决0-1背包问题,全局最优解通过局部最优解来获得!比动态规划解决背包问题更灵活!
//0-1背包贪心算法问题class tanxin{ public $weight; public $price; public function __construct($weight=0,$price=0) { $this->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=1;$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背包问题"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!
背包
算法
问题
贪婪
内容
篇文章
学习
帮助
排序
价格
全局
动态
局部
数据
易懂
更多
条理
次序
知识
编带
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
惠普服务器没有识别磁盘
大连医疗数据库
家电设计软件开发
家庭教育及网络安全专题片
诚信的hmi软件开发
服务器远程管理不用显卡
源服务器
下载数据库的正规网站
数据库表并发删除
数据库功能设计图
计算机网络技术河北的公办大专
本地软件开发
广州网页直播软件开发
电子信息工程本科和网络安全硕士
2020年网络安全工作总结
融媒体网络安全方案
方舟手游非官方服务器还能回档吗
银行内部网络技术
神通数据库查询历史SQL
用服务器架设网站
软件开发大学生职业规划
三级计算机网络技术基础知识
lol全部服务器爆满
csgo服务器论坛
数据库一次查和多次查
查看数据库文件内存大小
幼师网络安全法心得体会
第三方支付中网络安全问题案例
全国ips网络安全公司排名
天猫精灵怎么连接不到服务器