0-1 ナップザック問題を解決するための PHP 貪欲アルゴリズムの分析例_PHP チュートリアル
PHP貪欲アルゴリズムは0-1ナップザック問題を解決する例の分析
この記事では主に0-1ナップサック問題を解決するためのPHP貪欲アルゴリズムを紹介し、例では貪欲アルゴリズムの原理とナップザックの実装スキルを分析します。問題がありますので、必要な友達は参考にしてください
この記事の例では、PHP 貪欲アルゴリズムを使用して 0-1 ナップザック問題を解く方法を説明します。参考のためにみんなで共有してください。具体的な分析は次のとおりです:
貪欲アルゴリズムは 0-1 ナップザック問題を解決し、局所最適解を通じて大域最適解が得られます。動的プログラミングよりも柔軟にナップサック問題を解決しましょう!
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 |
//0-1 バックパック貪欲アルゴリズム問題 クラスタンキシン{ 公開 $weight; 公開価格; パブリック関数 __construct($weight=0,$price=0) { $this->weight=$weight; $this->価格=$価格; } } //データを生成する $n=10; for($i=1;$i $weight=ランド(1,20); $price=ランド(1,10); $x[$i]=新しいタンキシン($重量,$価格); } //結果を出力する 機能表示($x) { $len=カウント($x); foreach($x を $val){ echo $val->weight,' ',$val->price; エコー ' } } //価格と重量比で並べ替えます 関数 tsort(&$x) { $len=カウント($x); for($i=1;$i { for($j=1;$j { $temp=$x[$j]; $res=$x[$j+1]->価格/$x[$j+1]->重量; $temres=$temp->価格/$temp->重量; if($res>$temres){ $x[$j]=$x[$j+1]; $x[$j+1]=$temp; } } } } //貪欲なアルゴリズム 関数タンキシン($x,$totalweight=50) { $len=カウント($x); $allprice=0; for($i=1;$i if($x[$i]->weight>$totalweight) ブレーク; その他{ $allprice+=$x[$i]->価格; $総重量=$総重量-$x[$i]->重量; } } if($iprice*($totalweight/$x[$i]->weight); $allprice を返す; } tsort($x);//非昇順に並べ替えます display($x);//ディスプレイ echo '0-1 バックパックの最適解は次のとおりです:'; エコータンシン($x); |
この記事で説明した内容が皆様の PHP プログラミング設計に役立つことを願っています。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

CakePHP へのログインは非常に簡単な作業です。使用する関数は 1 つだけです。 cronjob などのバックグラウンド プロセスのエラー、例外、ユーザー アクティビティ、ユーザーが実行したアクションをログに記録できます。 CakePHP でのデータのログ記録は簡単です。 log()関数が提供されています

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、
