遞迴實現 動態規劃 並找出乙個最優解

2021-08-29 12:09:23 字數 1194 閱讀 6449

從v中選一些資料,使之和與另一給定值j最接近,(不大於j)對於v中的某個元素,用選或不選進行分析,選用此數時放右子樹

不選時放左子樹,並進行遞迴 。

# -*- coding:utf-8-*-

###從v中選一些數,使之和與另一給定值j 最接近(不大於j)。 動態規劃時,對於v中的某個元素,選或不選進行遞迴,選此數時放右子樹,小的放左子樹

###利用二叉樹遞迴處理,動態規劃 v ,並把每個右子樹的值儲存在的r_list中。

v=[11,91,12,71,97,5,23,9,21,73,34]

r_list=[0,0]

def knap(i,j):

if(i==-1 or j<=0):

return 0

else:

left=knap(i-1,j)

right=knap(i-1,j-v[i])+v[i]

if(j>=v[i] and right>=left):

return right

else:

return left

###處理遞迴儲存在右子樹的值(除重,並除首值)

val=knap(10,431)

leng=len(r_list)

sel=list()

def deal_list(r_list):

for t in r_list:

if not t in sel:

sel.remove(sel[0])

###從列表v中找位置

乙個簡單的動態規劃題

一直感覺 動態 規劃和排列好難的 乙個簡單的題目。開司,乙個整日遊手好閒 無所事事 混跡人生 軟弱無能 放縱慾望 毫無進取 嗯,實在是太多了,就不一一枚舉了。總之,他就是完美的符合了我們日常中對人渣這一詞的認識。不過他有這唯一,也是無敵般的特長,就是逆境求生 不論是什麼樣的逆境,他都可以翻盤。這不是...

動態規劃走樓梯 乙個題目幫你入門動態規劃演算法

如果有一座高度是10級台階的樓梯,從下往上走,每跨一步只能向上1級或者2級台階。要求用程式來求出一共有多少種走法。如果每次走1級台階,一共走10步,這是其中一種走法。我們可以簡寫成 1,1,1,1,1,1,1,1,1,1。如果每次走2級台階,一共走5步,這是另一種走法。我們可以簡寫成 2,2,2,2...

動態規劃 計畫乙個公司聚會

問題 stewart教授是一家公司總裁的顧問,這家公司計畫乙個公司聚會。這個公司有乙個層次結構 也就是,管理關係形成一棵以總裁為根的樹。人事部給每個雇員以喜歡聚會的程度來排名,這是乙個實數。為了使每個參加者都喜歡這個聚會,總裁不希望乙個雇員和他 她 的直接上司同時參加。stewart教授面對一顆描述...