91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

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

化州市| 思茅市| 永安市| 洛川县| 当涂县| 桓仁| 阆中市| 莒南县| 巩留县| 独山县| 北辰区| 浦东新区| 湟源县| 北宁市| 武鸣县| 山丹县| 崇礼县| 太仆寺旗| 周宁县| 樟树市| 太康县| 舒兰市| 平顺县| 吉林省| 临猗县| 富宁县| 商丘市| 丰县| 聂荣县| 上杭县| 专栏| 合阳县| 泗阳县| 霍州市| 红安县| 晋州市| 长顺县| 泽普县| 大连市| 保康县| 荣昌县|