摘要:
动态规划性质: 1 最优子结构性质 2 子问题重叠性质 ----->该问题可用动态规划算法求解的基本要素1 最优子结构当问题的最优解包含了其子问题的最优解时,称该问题具有最优子结构性质。最优子结构性质提供了该问题的可用动态规划算法求解的重要线索。动态规划,利用问题的最优子结构性质,以自底向上的方式递归的从子问题的最优解逐步构造出整个问题的最优解。2 重叠子问题动态规划,避开了递归时,重复的计算相同子问题的过程,对每个子问题只解一次,而后将其保存在一个表格中,当再次需要的时候,只是简单的用常数时间查看一下结果。3 备忘录方法递归方式自顶向下首先,查看其相应的记录项,若存在,直接返回。若不存 阅读全文
posted @ 2012-10-16 21:43
xingoo
阅读(9417)
评论(0)
推荐(0)
摘要:
矩阵AB可乘的条件是矩阵A的列数等于矩阵B的行数计算时,加括号方式,对计算量的影响很大穷举搜索法:来搜索可能的计算次序,并计算出每一种计算次序相应需要的数乘次数,从中找出一种数乘最少的计算次序 1 分析最优解的结构 关键特征:计算A[1:n]的最优次序所包含的计算矩阵子链A[1:k]和 A[k+1:n]的次序也是最优的。 2 建立递归关系 当i=j时:m[i][j] = 0;当i<j时,m[i][j] = m[i][k]+ m[k+1][j]+pi-1pkpj ... 阅读全文
posted @ 2012-10-16 21:19
xingoo
阅读(497)
评论(0)
推荐(0)
摘要:
基本思想:将待求解问题分解成若干子问题,先求解子问题,然后从子问题的解中得到原问题的解。与分治不同的是,经分解得到的子问题往往不是互相独立的。若用分治法来解这些问题,则得到的子问题数目太多,以至于最后解决原问题需要消耗指数时间。步骤设计:1 找出最优解的性质,并刻画其结构特征2 递归地定义最优值3 以自底向上的方式计算出最优值4 根据计算最优值得到的信息,构造最优解应用实例:矩阵连乘问题最长公共子序列最大子段和凸多边形最优三角剖分多边形游戏图像压缩电路布线流水作业调度背包问题最优二叉搜索树 阅读全文
posted @ 2012-10-16 20:32
xingoo
阅读(262)
评论(0)
推荐(0)
摘要:
算法思想:对于输入的子数组a[p:r],按下面三个步骤:1 分解:以a[p]为基准元素将a[p:r]分成三段,a[p:q-1],a[q],a[q+1:r],使a[p:q-1]中的任何元素都小于a[q],a[q+1:r]中的任何元素都大于a[q]2 递归求解:递归的对a[p:q-1],a[q+1:r]再进行排序3 合并:就地排序,不需要执行任何计算,便完成排序template <class Type>void QuikSort(Type a[],int p,int r){ if(p<r) { int q = Partition(a,p,r); QuikSo... 阅读全文
posted @ 2012-10-16 20:23
xingoo
阅读(291)
评论(0)
推荐(0)

浙公网安备 33010602011771号