日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

动态规划三种方法

發布時間:2024/4/11 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 动态规划三种方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

以數字三角形為例。

求出一個數字三角形從上到下一條路徑的結點總值最大

1.遞歸計算

int solve(int I,int j){ return a[I][j]+(I==n?0:max(solve(I+1,j),solve(I+1,j+1))); }

這種方法對于這題來說效率有點低了,因為重復計算了已經計算過的結點。從上到下。

2.遞推計算

這個是從下到上

int I,j; for( j=1;j<=n;j++)d[n][j]=a[n][j]; for( I=n-1;i>=1;i--)for( j=1;j<=I;j++)d[I][j]=a[I][j]+max(d[I+1][j],d[I+1][j+1]);

3.記憶化搜索

這個就是從上到下的改進版,重復計算過的結點存儲起來,可以直接用

memset(d,-1,sizeof(d)); int solve(int I,int j){if(d[I][j]>0)return d[I][j];d[I][j]=a[I][j]+(I==n?0:max(solve(I+1,j),solve(I+1,j+1))); }

?

超強干貨來襲 云風專訪:近40年碼齡,通宵達旦的技術人生

總結

以上是生活随笔為你收集整理的动态规划三种方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。