亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

子集和算法

子集和算法

我正在研究這個問題:該子集和問題需要輸入一個組X = {x1, x2 ,…, xn}的n整數和另一個整數K。問題是,以檢查是否存在一個子集X'的X,它的元素之和為K,并發現該子集,如果有任何。例如,如果X = {5, 3, 11, 8, 2}和K = 16則答案是YES因為子集X' = {5, 11}的總和為16。為運行時間至少為的子集和實現一個算法O(nK)。注意復雜性O(nK)。我認為動態編程可能會有所幫助。我發現了指數時間算法,但沒有幫助。有人可以幫我解決這個問題嗎?
查看完整描述

3 回答

?
哈士奇WWW

TA貢獻1799條經驗 獲得超6個贊

我建議閱讀Wiki的算法。該算法存在于此,有關該解決方案,請參閱偽多項式時間動態規劃解決O(P*n)方案,該解決方案不是多項式時間,在(p,n)中是多項式,但在n + log P(輸入大?。┲胁皇嵌囗検?,并且因為P可以像2 ^ n這樣的非常大,解P * n =(2 ^ n)* n通常不是多項式時間解,但是當p受n的某些多項式函數限制時,就是多項式時間算法。


這個問題是NPC,但是有一個Pseudo polynomial time算法,屬于weakly NP-Complete問題,也有Strongly NP-Complete問題,這意味著pseudo polynomial time除非P = NP,否則找不到任何算法,并且這個問題不在此問題范圍內,所以以某種方式很容易。


我說的是盡可能簡單,但這不是完全NP完全或完全NP完全問題的確切定義。

查看完整回答
反對 回復 2019-09-21
  • 3 回答
  • 0 關注
  • 689 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號