- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
第6讲软件开发
与软件工程1算法(3.3)2程序设计(3.3)3软件工程(补充)
确定并理解问题01寻找解决问题的方法与步骤,并将其表示成算法(algorithm)02程序设计:使用某种程序设计语言描述该算法及其处理的对象,并编译成目标程序03调试(debug)和运行(run)程序,获得问题的解答04进行评估,改进算法和程序05开发计算机软件的过程
1.算法
什么是算法?
——算法是解决问题的方法与步骤例:有三个硬币,其中一个是伪造的,另两个是真的,伪币与真币重量略有不同。现在提供一座天平,如何找出伪币呢?分析:按给定条件进行操作明确而有序地进行共享智能(任何人均可进行)开始C是伪币B是伪币A是伪币A=B?A=C?是否否是ABC
解决问题
必须找到算法!
例1:买鸡问题公元5世纪末(南北朝),我国古代数学家张丘建在他所撰写的《算经》中,提出了这样的一个问题:“鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一。百钱买百鸡,问鸡翁、母、雏各几何?”假设:公鸡数目为x,母鸡数目为y,则小鸡数目为(100-x-y)则:5x+3y+(100-x-y)/3=100,即7x+4y=100这是2元一次不定方程,共有有3组解:(4,18,78)、(8,11,81)、(12,4,84)
用“枚举法”解决买鸡问题开始NY5x+3y+z/3=100?x+y=100?x+y=100?结束x=0,y=0x+1x=0,y+1z=100-x-yNY输出x,y,zNY假设:公鸡数目为x,母鸡数目为y,则小鸡数目z=100-x-y从x=0,y=0开始,反复检查各种可能的组合是否所求答案:x=0,y=0、x=1,y=0······x=100,y=0x=0,y=1、x=1,y=1···x=99,y=1···x=0,y=99、x=1,y=99x=0,y=100直到找出全部答案为止!枚举法也叫做“穷举法”或Brute-force
例2:货郎担问题
(TSP-TravelingSalesmanProblem)售货员从城市A出发,到B、C、D等若干城市销售货物。已知各城市之间的距离,要求选择一条旅行路线,使总路程最短。条件:每个城市只能经过一次,最后仍回到出发城市A。
用枚举法解决TSP问题
TSP问题与组合爆炸4个城市,共有3!=6种路径5个城市,共有4!=24种路径10个城市,共有9!=36万种路径50个城市,有49!=1062路径……f(n)=(n-1)!2001年解决了15112个城市之间的TSP问题,使用110台计算机,共费时2.5月(组合爆炸)理论上,枚举法可以解决可计算领域的许多问题实际上,枚举法仅适用于解决一些较小规模的问题33x23x2x1
例3:寻找最大数(分治法)再分组:[49,38][65,97][76,13][27]49977627每一组找大数:归并成1组[97,76]原始数据为:49,38,65,97,76,13、27分成2组:[49,38,65,97][76,13,27][49,97][76,27]归并成2组:9776每一组找大数:97找出最大数:
分治法的基本思想例:找最大/最小数;合并排序;矩阵乘法;二分法搜索等把问题分解为若干个规模较小的同一问题原始问题规模较小的子问题问题规模缩小之后很容易得到解答子问题的解从子问题的解可以很容易地推导出原始问题的解原始问题的解
例4:迷宫问题(回溯法、试探法)出口入口迷宫问题将问题的候选解按某种顺序逐一检验,在检验过程中取消上一步或几步、再寻找下一个可能候选解的过程叫做“回溯”DemoBacktracking
例5:Hanoi塔问题(递归法)设A,B,C是3个塔座,塔座A上有一叠由小到大叠在一起的n个圆盘,现要求将塔座A上的这一叠圆盘移到塔座C上,并仍按同样顺序叠置。移动规则是:(1)每次只能移动1个圆盘(2)不允许大盘压在小盘上ABCCAB
2个圆盘的情况abccbcbaac一共需要搬动3次!ba
3个圆盘的情况abc0abc搬3次3abc4abc再搬3次7一共需要搬动7次!
4个圆盘的情况abc8ABC0abc7搬7次15CAB再搬7次一共需要搬动15次!
您可能关注的文档
最近下载
- 人工挖孔桩有限空间作业专项施工方案-2024.docx
- 2025年社区工作者公共基础知识与社区工作相关知识试卷.docx VIP
- 2025-2026年中国机械加工行业发展现状分析报告(目录) .pdf VIP
- 《GMP物料管理培训》课件.ppt VIP
- 2016款上汽名爵MG3_汽车使用手册用户操作图解驾驶指南车主车辆说明书电子版.pdf VIP
- 1000 Basic English Words—1000核心单词全4册单词带音标.pdf VIP
- 2025年社区工作者招聘考试公共基础知识(社区工作相关知识)题库.docx VIP
- 急性肺水肿患者应急预案及流程.pptx VIP
- 2025年社区工作者招聘考试(公共基础知识+社区工作相关知识)题库.docx VIP
- 智能控制技术专业人才培养方案(高职).pdf VIP
原创力文档


文档评论(0)