《大学计算机课件》第7单元——算法TSP.pptVIP

《大学计算机课件》第7单元——算法TSP.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
三种控制结构的流程图表示方法示意 开始 第1条规则或语句 第n条规则或语句 结束 顺序结构的流程图 开始 条件成 立否? 是 否 条件成立时执行的规则或语句 结束 条件不成立时执行的规则或语句 分支结构的流程图 循环结构的流程图 初始化部分 开始 循环控制 条件成立? 修改部分 需循环执行的规则或语句。  即:循环体 结束 是 否 循 环 结 束 3. 算法设计---算法思想的精确表达 3.6 怎样绘制流程图? 算法与程序构造的表达方法:程序流程图 循环结构的两种情况的流程图表示方法示意 初始化部分 开始 循环控制 条件成立? 修改部分 需循环执行的规则或语句 结束 是 否 循 环 结 束 有界循环结构的流程图 (循环次数确定) 初始化部分 开始 循环控制 条件成立? 修改部分 需循环执行的规则或语句 结束 否 循 环 未 结 束 是 条件循环结构的流程图 (循环次数不确定) 3. 算法设计---算法思想的精确表达 3.6 怎样绘制流程图? 算法与程序构造的表达方法:程序流程图 求解TSP问题的遍历算法 遍历所有的组合路径; 累加一条路径的距离之和; 判断某条路径的距离是不是比当前最短路径距离短; 如果是,则用新路径取代当前最短路径,并记录其距离; 直到所有路径比较完毕; …… 当前最短路径设为空,当前最短距离设为最大值 开始 所有路径组 合完毕否? 结束 否 是 组合一条新路径并计算该路径的距离 比当前最 短距离小吗? 将该路径记录为当前最短路径,并用其距离值更新当前最短距离 输出当前最短路径及当前最短距离 是 否 3. 算法设计---算法思想的精确表达 3.8 算法的控制结构如何设计? 控制结构的设计 将思想/策略 转变为“步骤” 求解TSP问题的贪心算法 步骤描述法表示的贪心算法 城市用数字编号来表示,1,2…,N 任何两个城市的距离记录在数组D[i,j]中 依次访问过的城市编号被记录在S[1], S[2], …, S[N]中,即第i 次访问的城市记录在S[i]中。 Step(1):从第1个城市开始访问起,将城市编号1赋值给S[1]。 Step(6):第I次访问的城市为城市j,其距第I-1次访问城市的距离最短。 3. 算法设计---算法思想的精确表达 3.8 算法的控制结构如何设计? 控制结构的设计 Start of the Algorithm (1) S[1]=1; (2) Sum=0; (3) 初始化距离数组D[N, N]; (4) I=2; (5) 从所有未访问过的城市中查找距离S[I-1]最近的城市j; (6) S[I]=j; (7) Sum=Sum+D[S[I-1], j]; (8) I=I+1; (9) 如果I=N,转步骤(5),否则,转步骤(10); (11)Sum=Sum+D[1, j]; (12)逐个输出S[N]中的全部元素; (13)输出Sum。 End of the Algorithm 求解TSP问题的贪心算法 步骤描述法表示的贪心算法思想 前述第5步“从所有未访问过的城市中查找距离S[I-1]最近的城市j”还是不够明确,需要进一步细化 3. 算法设计---算法思想的精确表达 3.8算法的控制结构如何设计? 控制结构的设计 (5.1)K=2; (5.2)将Dtemp设为一个大数(比所有两个城市之间的距离都大) (5.3)L=1; (5.4)如果S[L]==K,转步骤5.8;//该城市已出现过,跳过 (5.5)L=L+1; (5.6)如果LI,转5.4; (5.7)如果D[K,S[I-1]]Dtemp; j=K; Dtemp=D[K,S[I-1]]; (5.8)K=K+1; (5.9)如果K=N,转步骤5.3。 求解TSP问题的贪心算法 流程图表示的贪心算法思想 3. 算法设计---算法思想的精确表达 3.8 算法的控制结构如何设计? 控制结构的设计 流程图表示的算法思想解读 计算学科的学生不仅能够设计算法,而且会描述和表达算法,更要能读懂算法。 外层循环,I从2至N循环;I-1个城市已访问过,正在找与第I-1个城市最近距离的城市;已访问过的城市号存储在S[]中。 中层循环, K从第2个城市至第N个城市循环, 判断D[K, S[I-1]]是否是最小值,j记录了最小距离的城市号K。 内层循环,L从1至I-1, 循环判断第K个城市是否是已访问过的城市,如是则不参加最小距离的比较; 3. 算法设计---算法思想的精确表达 3.9 你能够读懂流程图吗? 控制结构的设计 算法类问题求解概述 算法类问题的数学建模 算法策略设计---算法思想 算法设计---算法思想的精确表达 算法实现---程序设计 高级问题初探: 算法分析与计算复杂性 内容提要 算法的实现 程序是算法的一种机器相容(Comp

文档评论(0)

***** + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档