- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
主要内容介绍(续) 第7章 概率算法 第8章 NP完全性理论 第9章 近似算法 第10章 算法优化策略 相关先导基础课程和算法概述 专业基础课程: 数据结构、计算机语言(C++)、操作系统 如何编写计算机程序: 数据结构+算法 = 程序 算法:计算机软件的“灵魂” 算法是计算机科学和计算机应用的核心 ACM国际大学生程序设计竞赛 ACM国际大学生程序设计竞赛(英文全称:ACM International Collegiate Programming Contest(ACM-ICPC或ICPC)是由美国计算机协会(ACM)主办的,一项旨在展示大学生创新能力、团队精神和在压力下编写程序、分析和解决问题能力的年度竞赛。经过30多年的发展,ACM国际大学生程序设计竞赛已经发展成为最具影响力的大学生计算机竞赛。赛事目前由IBM公司赞助。 内容 入门三本: 《数据结构与算法》(傅清祥,王晓东编著) 程序设计导引及在线实践 作者: 李文新 ACM程序设计培训教程 吴昊 基础提高: 算法艺术与信息学竞赛 第二版 刘汝佳 余祥宣等编著,计算机算法基础(第三版),华中理工大学出版社 科曼:《算法导论》 组合数学 第三版 冯舜玺 译 计算几何-算法设计与分析 周培德 《数据结构》(C++语言描述) 朱战立 组合数学的算法与程序设计 《程序设计中的组合数学》 吴文虎 图论的算法与程序设计 教材与参考书 教 材: 算法设计与分析(第三版) 王晓东,2007年5月,电子工业出版社。 参考书: 徐士良编,C常用算法程序集,华大学出版社,1998年 霍红卫编,算法设计与分析 西安电子科技大学出版社,2005年 卢开澄编,计算机算法导引,清华大学出版社,2003年 部分目录 第1章 算法概述 1.1 算法与程序 1.2 算法复杂性分析 第2章 递归与分治策略 2.1 递归的概念 2.2 分治法的基本思想 2.3 二分搜索技术 2.4 大整数的乘法 2.5 Strassen矩阵乘法 2.6 棋盘覆盖 2.7 合并排序 2.8 快速排序 2.9 线性时间选择 2.10 最接近点对问题 2.11 循环赛日程表 第1章 算法概述 理解算法的概念 理解什么是程序,程序和算法的区别和内在联系 能够列举求解问题的基本步骤 掌握算法复杂性的渐进性态的数学表达式 掌握三种计算复杂性概念 掌握C++语言描述算法的方法 1.1 算法与程序 输 入:有零个或多个外部量作为算法的输入。 输 出:算法产生至少一个量作为输出。 确定性:组成算法的每条指令清晰、无歧义。 有限性:算法中每条指令的执行次数有限,执行每条指令的时间也有限。 算法学习的内容 如何设计算法:设计策略,创造性的活动 如何表示算法 自然语言 流程图 伪码 程序语言 如何确认算法:证明算法的正确性 如何分析算法:时间和空间需求的定量分析 如何测试算法 调试:“调试只能指出有错误,而不能指出它们不存在错误” 作时空分布图:验证分析结论,优化算法设计 1.2 算法复杂性分析 算法分析 对算法所消耗的资源(时间和空间)进行估算 算法分析的目的 预计所涉及的算法能在什么样的环境中有效地运行,在最好、最坏和平均情况下执行得怎么样。 对同一问题的不同算法进行时空耗费两方面的分析 算法分析的意义 通过对算法的分析,在把算法变成程序实际运行前,就知道为完成一项任务所设计的算法的好坏,从而运行好的算法,改进差的算法,避免无益的人力和物力浪费。 算法分析是计算机领域的“古老”而“前沿”的课题。 1.2 算法复杂性分析 1.2 算法复杂性分析 1.2 算法复杂性分析 1.2 算法复杂性分析 算法按时间的分类 多项式时间算法:可用多项式(函数)对其计算时间限界的算法。 常见的多项式限界函数有: O(1) O(logn)O (n)O(nlogn)O(n2)O (n3) 指数时间算法:计算时间用指数函数限界的算法 常见的指数时间限界函数: O(2n) O(n!)O(nn) 说明:当n取值较大时,指数时间算法和多项式时间算法在计算时间上非常悬殊。 典型的计算时间函数曲线 第一章 作业 课后练习: 1-1; 1-3: 补充题目: 1,冒泡排序的最好,最坏情况的元素比较和原始元素排列是什么? 2,100n2 和 2n,使前者快于后者,n最小值是多少? 第2章 递归与分治策略 算法总体思想 将要求解的较大规模的问题分割成k个更小规模的子问题。 2.1 递归的概念 直接或间接地调用自身的算法称为递归算法。用函数自身
文档评论(0)