- 22
- 0
- 约7.32千字
- 约 27页
- 2019-07-08 发布于江苏
- 举报
讲课的主要内容: 问题描述 最大子段和问题的简单算法以及改进算法(枚举/穷举) 最大子段和问题的分治算法 最大子段和问题的动态规划算法 推广1:最大子矩阵问题 推广2:最大m字段和问题算法及改进算法 复杂度分析 满足典型的分治算法递归式 解此递归方程,得T(n)=O(nlogn) 补充内容: 动态规划算法步骤 int MaxSubsum(int m,int n,int a[]){ if(n m || m1) return 0; int b[][] = new int[m+1][]; for(int i = 0;i = m;i++){b[i] = new int[n+1];} for(int i = 0;i = m;i++){b[i][0] = 0;} for(int j = 1;j = n;j++){b[0][j] = 0;} for(int i = 1;i = m;i++){ for(int j = i;j = n-m+i;j++){ //n-m+i确保后面的元素可以够分成 m-i 段 if(ji){ b[i][j] = b[i][j-1] + a[j-1]; for(int k = i-1;k j;k++){ if(b[i][j] b[i-1][k]+a[j-1]) b[i][j] = b[i-1][k] + a[j-1]; } } els
原创力文档

文档评论(0)