2017-11-08 7 views
2

以下のコストをキープは、お支払いを最大化&Iは、100のノード(コスト、支払い)からなるそれぞれを持っていると言うことができますX

はコストがYの量を超えることなく、ほとんどの支払いを生成Xノードを見つけるためにそこアルゴリズムですか?

私はアルゴリズムの問​​題を解決するのが初めてで、単純なソートアルゴリズムがあるか、何らかの理由で重み付けされたツリーを作成しているかどうか分かりません。それとも、唯一のアプローチを強要していますか?


我々は20コスト

ノード[] =(10、8)、(7,8)、(6,7)、(5上に行くことなく、3つのノードからの最高の支払いをしたいです、3)、(11、14)

最良の結果:(10、8)、(7,8)、(5,3)
ペイアウト= 22
コスト= 19


答えがわからない場合は、アルゴリズムのカテゴリや研究対象など、用語について正しい方向性を示すことができれば、とにかく感謝しています。ありがとう!

答えて

0

これは0/1 knapsack problemと呼ばれる有名な問題であり、解決にはさまざまなアプローチがあります。最も簡単で最も効率的なソリューションの1つは、要素を一度に1つずつ考慮する動的プログラミングアルゴリズムです。この用語を念頭に置いて、スタックオーバーフローやより広範なインターネット上で素晴らしいリソースを見つけることができるはずです。

+0

恐ろしい!どうもありがとうございます! – Corey

関連する問題