亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

PHP如何使用貪婪算法解決0-1背包問題

發布時間:2021-09-02 11:40:00 來源:億速云 閱讀:157 作者:小新 欄目:開發技術

這篇文章主要為大家展示了“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 '<br>';
  }
}
//按照價格和重量比排序
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背包問題”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

php
AI

吴忠市| 察雅县| 万荣县| 平乡县| 桦南县| 曲松县| 东乡县| 昔阳县| 略阳县| 北安市| 湟中县| 闵行区| 永胜县| 彩票| 浙江省| 孟连| 丰台区| 鹿邑县| 岳西县| 湛江市| 怀集县| 汝南县| 常德市| 宁津县| 泗水县| 嘉祥县| 上杭县| 商城县| 阿拉善左旗| 仙居县| 满洲里市| 临城县| 忻城县| 利津县| 吉安市| 乌什县| 普安县| 柘荣县| 金沙县| 新闻| 阳谷县|