《算法设计与分析》实验大纲.docVIP

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《算法设计与分析》实验大纲

算法设计与分析 说明 课程性质 计算机科学是一种创造性思维活动,其教育必须面向设计。计算机算法设计与分析正是一门面向设计,且处于计算机学科核心地位的教育课程。设计一个高效的程序不仅需要编程小技巧,更需要合理的数据组织和清晰高效的算法,这正是计算机科学领域里数据结构与算法设计可研究的主要内容。 教学目的 通过对本课程的学习与研究,使学生掌握算法设计的主要方法,培养对算法的计算复杂性正确分析的能力,为独立设计算法和对算法复杂性分析奠定坚实的理论基础,对学生将来从事计算机系统结构、系统软件和应用软件的研究与开发提供一个广泛扎实的计算机算法知识基础。 教学内容 有效算法最常用的设计策略——递归和分治法,动态规划法的设计要点与适用性,贪心算法,回溯法和分支限界法,许多难解问题的高效算法——概率算法,以及NP完全理论和NP难问题的近似解法。 教学时数 36学时 (五)教学方式 课题设计+上机实验 根据一种算法设计策略的基本思想,编程解决计算机科学和应用中的实际问题,由简到繁地描述几个经典的精巧算法。同时对每个算法所需的时间和空间进行分析,使学生既能学到一些常用的精巧算法,又能通过对算法设计策略的反复应用,牢固掌握这些算法设计的基本策略,以期收到融会贯通之效。在为各种算法设计策略选择用于展示其设计思想与技巧的具体应用问题时,有意义重复选择某些经典问题,使学生能深刻地体会到一个问题可以用多种设计策略求解。同时通过对解同一问题的不同算法的比较,使学生更容易体会到每一种具体算法的设计要点。随着内容的逐步展开,学生也将进一步感受到综合应用多种设计策略可以更有效地解决问题。 本文 基本要求 (1)熟练操作有关C++或JAVA编程环境 (2)运用理论部分介绍的各类算法设计思想,在相关环境下设计,编写,调试和运行求解实际问题的程序 实验项目总表 序号 实验项目名称 学时 项目类别 项目类型 1 熟悉C++或JAVA编程的环境 2 基础 必做 2 排列问题 2 设计 必做 3 棋盘覆盖问题 2 设计 必做 4 用栈模拟递归,消去算法Quick sort中的递归 2 综合 必做 5 Sarassen矩阵乘法 2 设计 选做 序号 实验项目名称 学时 项目类别 项目类型 6 矩阵连乘问题 (动态和备忘录) 2 设计 必做 7 图象压缩 2 设计 必做 8 找硬币(递归算法,动态规划算法,贪心算法) 2 综合 必做 9 活动安排问题 2 设计 必做 10 哈夫曼编码 2 设计 必做 11 多机调度问题 2 设计 选做 12 多会场多活动安排问题 2 综合 选做 13 装载问题 2 设计 必做 14 批处理作业调度问题 2 设计 选做 15 图的M着色问题 2 设计 必做 16 运动员最佳配对问题 2 设计 选做 17 布线问题 2 设计 必做 18 装载问题 2 设计 必做 19 最大团问题 2 设计 选做 20 用随机投点法计算∏值 2 设计 必做 21 线性时间选择(Sherwood算法) 2 设计 必做 22 n后问题(Las Vegas算法) 2 设计 必做 23 矩阵互逆问题(Monte Carlo算法) 2 设计 必做 注:必做项目数17个,选做项目数6个。 实验项目内容及要求 本课程实验所需设备及软件均为:微型计算机,C++/JAVA编程环境 1.熟悉C++/JAVA编程环境 目的及要求:准备并熟悉后续实验项目所用的环境 2.排列问题 设有类型相同的N个元素组成的集合R={r1,r2,……,rn},试对其进行全排列 目的:理解递归概念及递归算法设计方法 要求:① 设计、编写、调试、运行求解排列问题的递归程序 ② 写出实验报告 3.棋盘覆盖算法 用4种不同形态的L型骨牌覆盖一个2k×2k的特殊棋盘上除特殊方格以为的所有方格,且任何2个L型骨牌不得重叠覆盖 目的:理解分治法的的基本思

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档