算法分析矩阵连乘,矩阵乘法算法分析

与动态规划算法不同 , memo方法的递归方式是自顶向下的,而动态规划算法是自底向上的 。采用memo方法:数组中的元素只在需要计算的时候才计算,计算是递归的 , 计算出这些值后,它们将被保存以备他用,使用场景:矩阵 连乘、钢筋切割、最长公共子序列、最优二叉查找树、流水车间调度、0/1背包问题等 。

1、关于用动态规划法求最大公共子序列的问题【算法分析矩阵连乘,矩阵乘法算法分析】# include # includeusingnamespacestd;# define 100//宏定义N的初始值为100chara[N],b[N] , str[N];//a用来保存输入的第一个字符,B用来保存第二个字符,str用来判断两个字符是否都遍历到了 \0 (如果有 , 说明字符串已经处理过了),先初始化为Nintc[N][N];//int数组 , 初始化为n,用来保存两个字符串的内容//接下来要遵循程序的调用规则,先看调用build_lcs()的主函数 。
Char*b,intc[][N])//用于计算两个字符串的每个元素的内容!{intmstrlen(a) , nstrlen(b),j;//声明变量m,n,I , j,其中strlen()函数用于获取字符串的长度为(i0; 。

    推荐阅读