- 1、本文档共79页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
算法分析与设计_复习提纲
算法分析与设计;第1章 绪论;三种渐近符号的含义;渐近符号表示算法时间复杂度;用扩展递归技术分析算法时间的复杂性;第2章 NP完全理论 ;[例] 对三个数进行排序的判定树 ;第3章 蛮力法 ;KMP算法;next数组的定义;next数组的求法:;next数组的求法:;算法3.4 KMP算法中求next数组;算法3.5 KMP算法;生成排列对象;生成子集;算法3.10 生成子集;0/1背包问题;TSP问题;TSP问题;第4/5章 分/ 减治法;分治法的求解过程 ; 子问题
的规模是n/2;递 归;一个递归和减治法混合应用例子----俄式乘法; if(n%2==0)
{
halfn = n1;
bm = m1;
product = rmul(halfn,bm);
}
if(n%2==1)
{
halfn = n1;
bm = m1;
product = rmul(halfn,bm)+m;
}
return product;
};int rmul(int n, int m) /* 方法2:非递归法 */ {
int result=0;
while(n != 0)
{
if(n%2 == 0) m = m1;
else
{
result=result+m; m=m1;
}
n=n1;
}
return result;
};第6章 动态规划法;动态规划法的设计思想 ; 原问题的解;n=5时分治法计算斐波那契数的过程。 ;0
;TSP问题 ;假设从顶点i出发,令d(i, V)表示从顶点i出发经过V中各个顶点一次且仅一次,最后回到出发点i的最短路径长度,开始时,V=V-{i},于是,TSP问题的动态规划函数为:
d(i,V)=min{cik+d(k,V-{k})}(k∈V) (式6.5)
d(k,{})=cki(k≠i) (式6.6);这是最后一个阶段的决策,而:
d(1, {2, 3})=min{c12+d(2, {3}), c13+ d(3, {2})}
d(2, {1, 3})=min{c21+d(1, {3}), c23+ d(3, {1})}
d(3, {1, 2})=min{c31+d(1, {2}), c32+ d(2, {1})}
这一阶段的决策又依赖于下面的计算结果:
d(1, {2})= c12+d(2, {}) d(2, {3})=c23+d(3, {})
d(3, {2})= c32+d(2, {}) d(1, {3})= c13+d(3, {})
d(2, {1})=c21+d(1, {}) d(3, {1})=c31+d(1, {}) ;再向前倒推,有:
d(1, {2})= c12+d(2, {})=2+6=8(1→2) d(1, {3})= c13+d(3, {})=3+3=6(1→3)
d(2, {3})= c23+d(3, {})=2+3=5(2→3) d(2, {1})= c21+d(1, {})=4+5=9(2→1)
d(3, {1})= c31+d(1, {})=7+5=12(3→1) d(3, {2})= c32+d(2, {})=5+6=11(3→2)
再向前倒退,有:
d(1, {2, 3})=min{c12+d(2, {3}), c13+ d(3, {2})}=min{2+5, 3+11}=7(1→2)
d(2, {1, 3})=min{c21+d(1, {3}), c23+ d(3, {1})}=min{4+6, 2+12}=10(2→1);算法6.1——TSP问题
1.for (i=1; in; i++) //初始化第0列
d[i][0]=c[i][0];
2.for (j=1; j2n-1-1; j++)
for (i=1; in; i++) //依次进行第i次迭代
if (子集V[j]中不包含i)
对V[j]中的每个元素k,计算d[i][j]=min(c[i][k]+d[k][j-1]);
3.对V[2n-1-1]中的每一个元素k,计算d[0][2n-1-1]=min(c[0][k]+d[k][2n-1-2]);
4.输出最短路径长度d[0][2n-1-1];;0
您可能关注的文档
最近下载
- 婚前医学检查相关知识考核试题.pdf VIP
- 社保2024年新规培训.pptx VIP
- 人教版数学二年级上册第六单元 表内乘法(二)大单元整体教学设计.pdf
- DLT 5707-2014 电力工程电缆防火封堵施工工艺导则-行业标准.pdf
- 2024年医疗招聘中医类-中医妇科学考试历年高频考点题库含答案.docx VIP
- 2023年辽宁省营口市中考生物试卷(含答案).doc VIP
- 北师大版生物中考试题(含解析).docx VIP
- 2024年医疗招聘中医类-针灸推拿考试历年高频考点题库含答案.docx VIP
- 初中生物复习选择题.doc VIP
- 北师大版八年级生物上册单元测试-第19章.doc VIP
文档评论(0)