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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

c语言备忘录算法矩阵链乘,矩阵链乘法(备忘录法)

發布時間:2025/3/15 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c语言备忘录算法矩阵链乘,矩阵链乘法(备忘录法) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

/*

* @fileMemoMatrixchain.cpp

* @briefa solution of martrix chain with memorized way.

* @author/Univ.taoxiaoxiao/XMU

* @versionv1.0

* @date11-3-2013

*/

//實例 A1-A6:30X35 35X15 15X5 5X10 10X20 20X25

#include

#include

using namespace std;

#define N 6

#define INF 0x3f3f3f3f

int m[N + 1][N + 1];

int LookupChain(vectorp, int i, int j)

{

if (m[i][j] < INF)

return m[i][j];

if (i == j)

m[i][j] = 0;

else

{

for (int k = i; k <= j - 1; ++k)

{

int q = LookupChain(p, i, k) + LookupChain(p, k + 1, j)

+ p[i - 1] * p[k] * p[j];

if (q < m[i][j])

m[i][j] = q;

}

}

return m[i][j];

}

void MemorizedMatrixChain(vectorp)

{

int n = p.size() - 1;

for (int i = 1; i <= n; ++i)

{

for (int j = i; j <= n; ++j)

m[i][j] = INF;

}

LookupChain(p, 1, n);

}

int main()

{

vector p{ 30, 35, 15, 5, 10, 20, 25 };

cout << "矩陣維度為: ";

for (auto i = p.begin(); i < p.end(); ++i)

cout << *i << " ";

cout << endl;

MemorizedMatrixChain(p);

cout << "最小乘法次數: " << m[1][6] << endl;

return 0;

}

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的c语言备忘录算法矩阵链乘,矩阵链乘法(备忘录法)的全部內容,希望文章能夠幫你解決所遇到的問題。

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