- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[acm课程介绍
算法设计与问题求解 计算机与问题求解 计算机与问题求解 运算速度快是计算机的最重要的特点之一 计算机与问题求解 人工验证,总共有9!=362880个数,假设每秒验证一个数(对于人工验证,这已经是很快的速度了!),也需要100多个小时; 计算机与问题求解 运算速度快是计算机的最重要的特点之一; 存储容量大是计算机的另一个重要特点。 计算机与问题求解 运算速度快是计算机的最重要的特点之一 存储容量大是计算机的另一个重要特点 计算机问题求解的知识体系 高级程序设计语言、数据结构、算法设计构成计算机问题求解的“三驾马车”。 程序设计语言是问题求解的基本工具; 数据结构是问题求解的基础要素; 算法设计是问题求解的关键环节。 程序设计语言 与目标机器无关的高级程序设计语言(如C/C++,JAVA等)逐渐成为程序设计的主流,本课程约定的程序设计语言是C/C++ ; 程序设计语言并不等于程序设计,程序设计的目的是表达程序设计者的思想,按照计算机所能理解的方式描述需要让计算机完成的工作,而程序设计语言则是表达这种思想的工具。 数据结构 数据元素之间的逻辑关系,也称为数据的逻辑结构(Logical Structure)。数据的逻辑结构是从逻辑关系上描述数据,与数据的存储无关,独立于计算机; 数据元素及其关系在计算机存储器内的表示,称为数据的存储结构(Storage Structure)。数据的存储结构是逻辑结构用计算机语言的实现(亦称为映象),它依赖于程序设计语言; 数据的运算,即对数据施加的操作。 算法设计 算法可以理解为把将问题输入转化为问题答案的一系列计算步骤。在实际问题求解中,算法必须满足正确性与复杂性要求: 算法执行结果必须正确,它能正确无误地把每一个问题实例的正确答案求解出来; 算法的复杂度要适中,计算机系统的资源(包括运行时间和存储空间)是有限的。 算法初体验 — 计数 算法初体验 — 最大和连续子数列 算法初体验 — 最大和连续子数列(方案1) 算法初体验 — 最大和连续子数列(方案2) 算法初体验 — 最大和连续子数列(方案3) 算法初体验 — 最大和连续子数列(方案4) 算法… “内功”与“外功” 李开复博士于是说:真正学懂计算机的人(不只是“编程匠”)都对算法有相当的造诣,既能用科学家的严谨思维来求证,也能用工程师的务实手段来解决问题——而这种思维和手段的最佳演绎就是“算法”。 教学参考书 参考书 1)《计算机算法设计与分析》(第三版),王晓东,电子工业出版社; 2)T. H. Cormen, C. E. Leiserson, R. L. Rivest and C. Stein (2001), Introduction to Algorithms (the second edition). The MIT Press,中文名《算法导论(第二版)》(影印版),高等教育出版社; 3)严蔚敏等编,数据结构,清华大学出版社,1998。 课程安排及考试 主讲教师 李清勇(1、7-18) 黄华(2-6) 课程安排 课内:共48学时,授课36,上机12 课外:需要大量的练习 考试安排 形式:开卷 分数构成: 课堂作业与上机 (50) 出勤(10) 期末考试成绩 (40) 教学内容 算法复杂性分析 基本数据结构 (黄华老师主讲) 高级数据结构(黄华老师主讲) 枚举算法 递归与分治策略 动态规划 贪心策略 搜索算法 课程目标 掌握基本的数据结构和算法 学会应用典型数据结构和算法求解实际问题 发掘有潜力的ACM队员 学习平台和资源 交大的ACM/ICPC: 红果园bbs - 电脑技术 - 算法设计与程序设计竞赛版 交大的Online Judge 系统(BOJ): 帐号… 课堂作业 查找程序: /** 输入:iVector 整数向量,所有元素按照升序排列; iLen 整数向量的长度; iKey 待查找对象 输出: 若iKey不存在,返回-1;否则,返回iKey所在位置的下标。 */ int find(int* iVector, int iLen, int iKey) * * 北京交通大学计算机与信息技术学院 李清勇 E-mail: qingyongli@ Tel:主校区: 9号楼 北312 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile . Copyright 2004-2011 Aspose Pty Ltd. 1946年第一台电子计算机ENIAC Evaluation only
文档评论(0)