网站大量收购独家精品文档,联系QQ:2885784924

数据结构与算法(第一二部分)分析.ppt

  1. 1、本文档共68页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构与算法 (第一部分 基础知识) 胡学钢 计算机与信息学院 2011年3月 课程内容及教学概述 第一部分 基础知识 第一章 算法在计算中的作用 第二章 算法入门 第三章 函数的增长 第四章 递归式 第五章 概率分析和随机算法 第二部分 排序和顺序统计学 第六章 堆排序 第七章 快速排序 第八章 线性时间排序 第九章 中位数和顺序统计学 课程内容及教学概述 第三部分 数据结构 第十章 基本数据结构 第十一章 散列表 第十二章 二叉查找树 第十三章 红黑树 第十四章 数据结构的扩展 第四部分 高级设计和分析技术 第十五章 动态规划 第十六章 贪心算法 第十七章 平摊分析 课程内容及教学概述 第五部分 高级数据结构 第十八章 B树 第十九章 二项堆 第二十章 斐波那契堆 第二十一章 用于不相交集合的数据结构 第六部分 图算法 第二十二章 图的基本算法 第二十三章 最小生成树 第二十四章 单源最短路径 第二十五章 各对顶点之间的最短路径 第一部分 基础知识 第一章 算法在计算中的作用 第二章 算法入门 第三章 函数的增长 第四章 递归式 第五章 概率分析和随机算法 这部分内容主要介绍算法设计和分析问题, 算法的表达方法、 后面要用到的一些设计策略 以及许多基本思想 第一章 算法在计算中的作用 内容提要 1.1 算法 1.2 作为一种技术的算法 什么是算法?研究算法的目的? 第一章 算法在计算中的作用 1.1 算法 简单来说,算法(algorithm)就是定义良好的计算过程, 取一个或一组值作为输入, 并产生一个或一组输出。 也就是,算法是一系列的计算步骤, 用来将输入数据转换成数出结果。 1.1 算法 例如,排序问题描述如下。 输入:由n个数据构成的序列a1,a2,…,an. 输出:对输入序列的排序a’1,a’2,…,a’n,使得a’1≤a’2≤… ≤a’n. 排序是基本的操作,有许多好的算法。 排序算法的衡量因素很多,涉及到: 数据的项数、 已经排好的程度、 对数据项取值可能的限制、 存储设备的类型(内存、磁盘、磁带)等 1.1 算法 算法的正确性:如果一个算法对每个输入都能得到正确的结果,并停止,则称为是正确的。 不正确的算法对某些输入来说,可能不会停止,或得到的不是预期的结果。 有时,如果算法的错误率可以得到控制的话,有时也是有用的。 算法的描述:自然语言、计算机语言等。 要求:算法的规格说明必须提供关于代码运行的计算过程的精确描述。 1.1 算法 算法可以解决哪些类型的问题? 举例 互联网信息: 管理、操作、 检索、搜索引擎。 互联网中的路由选择 电子商务: 信用卡号、密码、银行结单等的私密性与欺诈检测。 欺诈检测 物流配送 1.1 算法 应用举例 生物信息学领域: 人类基因项目的目标是: 找出人类DNA中的所有100 000种基因, 确定构成人类DNA的30亿种化学基对的各种序列, 储存在数据库中,并开发出用于分析的工具。 ------每一步骤都需要复杂的算法。 制造业:稀有资源的分配。 。。。。 1.1 算法 各领域的例子形式上存在较大差异,但其底层所涉及到的支撑技术具有许多共性。 许多有趣算法的两个共同特征: 有很多候选的解决方案,其中大多数都不是所需要的。 找到真正需要的解决方案往往不容易。 有实际的应用。 最短路径:运输公司成本;互联网中:路由节点 数据结构 算法必然涉及到数据结构:数据的组织方式。 不同特性和应用场合。 算法设计和分析技术 面临新的问题时所需要的技术 1.1 算法 关于NP完全问题 -----有趣的问题: 迄今为止,没有找出NP完全问题的有效解法, 但也没有人能证明NP完全问题的有效解法是不存在的。 如果NP问题中的任何一个问题存在有效算法, 则该集合中其他所有问题都存在有效算法。 有几个NP完全问题类似于(但又不完全同于)一些有着已知有效算法的问题,对一个陈述的一点小小改动,就会对其一直最佳算法的效率带来很大的变化。 来自于实践,有了解或研究的必要。避免不必要的徒劳。 例如:配货车的最短路径规划问题----旅行商问题。 1.2 作为一种技术的算法 由于计算机的计算速度、存储空间总是有一定的局限,因此,研究性能更好的算法成为与研究高性能硬件类似的技术。 例:幻方问题(纵横图) 将1~n2放在n*n(n为奇数) 的 方阵中,使得任意一行任意一列以及 两条对角线上的所有元素之和均相等。 如n=5时的方阵如下图所示。 1.2 作为一种技术的算法 1.2 作为一种技术的算法 第二章 算法入门 内容提要 插入排序 算法分析 算法设计 2.1 插入排序 先从插入排序算法开始 排序问题描述如下。 输入:由n个

文档评论(0)

四月 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档