算法设计与分析实验指导书详解.doc
《算法设计与分析实验指导书详解.doc》由会员分享,可在线阅读,更多相关《算法设计与分析实验指导书详解.doc(17页珍藏版)》请在咨信网上搜索。
1、算法设计与分析实 验 指 导 书东北大学软件学院2012年目 录算法设计与分析1实 验 指 导 书1前 言3实验要求4实验1 分治法的应用(2学时)51.实验目的52.实验类型53.预习要求54.实验基本要求55.实验基本步骤7实验2动态规划(2学时)91.实验目的92.实验类型93.预习要求94.实验基本要求95.实验基本步骤10实验3 回溯法(4学时)121.实验目的122.实验类型123.预习要求124.实验基本要求125.实验基本步骤13前 言算法设计与分析是一门面向设计,处于计算机科学与技术学科核心地位的教育课程。通过对计算机算法系统的学习,使学生理解和掌握计算机算法的通用设计方法,
2、培养对算法的计算复杂性正确分析的能力,为独立设计算法和对算法进行复杂性分析奠定基础。要求掌握算法复杂度分析、分治法、动态规划法、贪心法、回溯法、分支限界法等算法的设计方法及其分析方法。能将这些方法灵活的应用到相应的问题中,并且能够用C+实现所涉及的算法,并尽量做到低复杂度,高效率。通过本课程的实验,使学生加深对课程内容的理解,培养学生严密的思维能力,运用所学知识结合具体问题设计适用的算法的能力;培养学生良好的设计风格,激励学生创造新算法和改进旧算法的愿望和热情。希望同学们能够充分利用实验条件,认真完成实验,从实验中得到应有的锻炼和培养。希望同学们在使用本实验指导书及进行实验的过程中,能够帮助我
3、们不断地发现问题,并提出建议,使算法设计与分析课程成为对大家有益的课程。实验要求算法设计与分析课程实验的目的是为了使学生在课堂学习的同时,通过一系列的实验,使学生加深理解和更好地掌握算法设计与分析课程教学大纲要求的内容。在算法设计与分析的课程实验过程中,要求学生做到:(1)仔细观察调试程序过程中出现的各种问题,记录主要问题,做出必要说明和分析。(2)认真书写实验报告。实验报告模板见附录1。(3)遵守机房纪律,服从辅导教师指挥,爱护实验设备。(4)实验课程不迟到。如有事不能出席,所缺实验一般不补。(5)本实验采用的开发环境为 Microsoft Visual C+ 6.0,同学在做实验之前要求熟
4、悉该软件的使用方法。(6)实验成绩主要从以下几方面考核:实验过程态度,实验结果及报告书写。实验1 分治法的应用(2学时)1.实验目的(1) 理解分治法的思想。(2) 掌握用分治法解决问题2.实验类型设计型3.预习要求熟悉Visual C+ 6.0上机编程调试的基本方法。掌握教材上分治法的思想,掌握各种排序方法及二分搜索的思想。4.实验基本要求(1) 仔细阅读备选实验的题目,选择一个(可选多个)作为此次实验题目,设计的程序要满足正确性,代码中有关键的注释,书写格式清晰,简洁易懂,效率较高,利用C的模板,设计的程序通用性好,适合各种合理输入,并能对不合理输入做出正确的提示。(2) 可供选择的题目有
5、以下3个:(i) 中位数问题 问题描述设X 0 : n - 1和Y 0 : n 1 为两个数组,每个数组中含有n个已排好序的数。找出X和Y的2n个数的中位数。 编程任务 利用分治策略试设计一个O (log n)时间的算法求出这2n个数的中位数。 数据输入由文件input.txt提供输入数据。文件的第1行中有1个正整数n(n=200),表示每个数组有n个数。接下来的两行分别是X,Y数组的元素。 结果输出 程序运行结束时,将计算出的中位数输出到文件output.txt中。输入文件示例输出文件示例input.txtoutput.txt35 15 183 14 2114 实现提示 比较两个序列的中位数
6、大小,如果两个数相等,则该数为整个2n个数据的中位数,否则通过比较,分别减少两个序列的查找范围,确定查找的起止位置,继续查找。(ii) Gray码问题 问题描述Gray码是一个长度为2n的序列。序列中无相同的元素,每个元素都是长度为n位的串,相邻元素恰好只有一位不同。用分治策略设计一个算法对任意的n构造相应的Gray码。 编程任务 利用分治策略试设计一个算法对任意的n构造相应的Gray码。 数据输入由文件input.txt提供输入数据n。 结果输出 程序运行结束时,将得到的所有编码输出到文件output.txt中。输入文件示例输出文件示例input.txtoutput.txt300010010
7、1010011111101001 实现提示 把原问题分解为两个子问题,分别对两个子问题的每个数组后一位加0和1。(iii)归并排序 问题描述目前的网上拍卖系统会显示很多待拍卖的物品,通常这些系统具有按照某个关键字对打出的广告进行排序列出的功能,并且能够按照用户输入的某个关键字进行过虑,找到某些特定的物品。 编程任务 定义一个Advertisement类,该类中至少包含该物品的数量,名称,联系人e-mail,最好有开拍时间及关闭时间,根据用户输入的关键字比如名称,mail,时间等,利用非递归的归并排序对所有的广告进行排序,并列出所有排好序的广告。 数据输入由文件input.txt提供输入的所有广
8、告信息。程序中由用户输入要排序的关键字。 结果输出 程序运行结束时,排好序的广告输出到文件output.txt中,并为每个广告添加序号。输入文件示例输出文件示例input.txtoutput.txtCoat(物品名称)3(数量)aSkirt5bCap7cBag12aTitle(用户输入按照title排序)1Bag12a2Cap7c3Coat(物品名称)3(数量)a4Skirt5b (3) 按照指定的格式书写实验报告,实验报告清晰,但不赘述,字体最大为四号。在实验结束一周内上交实验报告。5.实验基本步骤(1) 选定实验题目,仔细阅读实验要求,设计好输入输出,按照分治法的思想构思算法,选取合适的存
9、储结构实现应用的操作。(2) 设计的结果应在Visual C+ 实验环境下实现并进行调试。(3) 实验要有详细的测试记录,包括各种可能的测试数据。实 验 报 告课程名称:算法设计与分析班级:软件1304 实验成绩:实验名称:分治策略学号:20134726批阅教师签字:实验编号:实验一姓名:赵航实验日期: 2016年 1月 1 日指导教师:张莉组号:实验时间: 时 分 时 分一、实验目的理解分治法的思想。掌握用分治法解决问题二、实验内容(i) 中位数问题 问题描述设X 0 : n - 1和Y 0 : n 1 为两个数组,每个数组中含有n个已排好序的数。找出X和Y的2n个数的中位数。 编程任务 利
10、用分治策略试设计一个O (log n)时间的算法求出这2n个数的中位数。 数据输入由文件input.txt提供输入数据。文件的第1行中有1个正整数n(n=200),表示每个数组有n个数。接下来的两行分别是X,Y数组的元素。三、实验环境WINDOWS7家庭版DEVC+四、问题分析(1) 分析要解决的问题,给出你的思路,可以借助图表等辅助表达。设两个长度为n的数列分别为x 0 : n -1和y 0 : n -1,分别找出这两个数列的中位数xi和y j ,二者进行比较,根据比较结果可以在每个数列中减少一半的搜索范围,然后再分别取两个子数列的中位数再比较,再减少搜索范围,继续下去直到找到最后结果(2)
11、 分析利用你的想法解决该问题可能会有怎样的时空复杂度。O(n)(3) 其它(你认为需要在此说明的)五、问题解决(1) 根据对问题的分析,写出解决办法。设两个长度为n的数列分别为x 0 : n -1和y 0 : n -1,分别找出这两个数列的中位数xi和y j ,二者进行比较,根据比较结果可以在每个数列中减少一半的搜索范围,然后再分别取两个子数列的中位数再比较,再减少搜索范围,继续下去直到找到最后结果(2) 描述你在进行实现时,主要的函数或操作内部的主要算法;分析这个算法的时、空复杂度,并说明你设计的巧妙之处,如有创新,将其清晰的表述。int findMedian(int* x, int* y,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 算法 设计 分析 实验 指导书 详解
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【快乐****生活】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【快乐****生活】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。