算法的设计与剖析,冶金工业发行社.pptVIP

  • 3
  • 0
  • 约7.03千字
  • 约 27页
  • 2017-04-01 发布于四川
  • 举报
算法的设计与剖析,冶金工业发行社

第1章 算法的介绍 本章首先介绍算法的一些基本概念,包括算法的定义,以及算法必须满足的五个基本要求。然后通过详细分析求解最大公约数这一经典例子,详细论述算法的基本概念在实际问题中的应用。接着会列举并简要介绍在日常生活以及计算机程序设计中常遇到的问题的类型、特点以及解决这些问题的一般步骤。 1.1 算法的概念 算法的概念 算法的重要性 一个简单例子的算法表示 求最大公约数算法的细化 1.1.1 算法的概念 这个概念没有一个统一的定义。一般而言,对于计算机算法的概念是这样描述的:算法是在有限步骤内求解某一问题所使用的一组定义明确的规则。通俗一点来说,就是计算机解题的过程。在这个过程中,无论是形成解题思路还是编写程序,都是在实施某种算法。前者是“推理”实现的算法,后者是“操作”实现的算法。 算法的概念图 1.1.2 算法的重要性 算法的学习是很重要的,可以说,算法是计算的核心与灵魂。如果你仅仅学习了某一门编程语言的语法、数据结构,那么你仅仅是了解了那门语言本身而已,无法把该门编程语言运用到实际问题的解决中。算法正是把这些语法、数据结构运用到问题解决的过程。 1.1.3 一个简单例子的算法表示 ALGORITHM Euclid(m,n) // 计算gcd(m,n) // 输入:非负整数m,n,其中m,n不同是为零 // 输出:m,n的最大公约数 while n ≠ 0 do r ← m mod n m ← n n ← r return m 1.1.4 求最大公约数算法的细化 求整数的素因子的细化 找出两个数公共素因子的细化 1.2 常见问题的类型 排序问题(Sorting)。 搜索问题(Searching)。 字符串问题(String problems)。 图论问题(Graph problems)。 组合数学问题(Combinatorial problems)。 几何数学问题(Geometric problems)。 数值计算问题(Numerical problems)。 加密问题(Encrpytion problems)。 1.2.1 排序问题 所谓的“排序”就是把一组杂乱的数据按照一定的规律顺次排列起来。排序是很重要的,因为它可以使得以后的工作更加地容易。目前,计算机科学家发明了很多的排序算法,然而这些排序算法中并不存在一种算法是绝对最优的。这里介绍几个与“排序”相关的重要概念:数据表 、关键字 、主关键字 、排序的稳定性 、内排序与外排序 。 1.2.2 搜索问题 所谓搜索,就是在数据集合中寻找满足某种条件的数据对象。一般的形式是先给出一个特定值,然后在数据集合中找出关键字等于该特定值的对象。对于搜索问题,通常需要返回的结果可能有两种。一种是简单的搜索成功或者失败的信息;另一种是返回满足搜索条件的对象所在位置,如果找不到则返回不存在信息。 1.2.3 字符串问题 对于字符串处理的问题,这里只是对其中一类特殊的问题进行讨论,即字符串模式匹配问题(string matching)。问题是这样表述的:在一篇文章或文章的一部分中找出单词第一次出现的位置。本书把字符串匹配问题作为一种特殊的搜索问题考虑,因为两者是有相似之处的。最大的区别在于,一般搜索问题是单一的关键字的搜索,而字符串匹配可以看作是几个关键字组成一种模式的搜索过程,因此对模式的分析有助于算法效率的提高。 1.2.4 图论问题 图论问题主要是与图或树相关的问题。这里所谓的“图”指的是一些顶点(Vertex)与边(Edge)的集合。图有着非常重要与丰富的实际应用,如通信网络,交通网络,工程计划等。本书所涉及到的图论问题主要包括了图的遍历问题(Graph Traversal),最短路径问题以及图的特例——树结构的排序、搜索中的应用问题。 1.2.5 组合数学问题 现代的组合数学所涉及的领域更加广阔,其中的问题出自抽象代数、拓扑学、数学基础、图论、博弈论、线性规划以及其他许多领域。值得注意的是,这些来源不同的问题不能在一个统一的理论体系中得到有效的解决,而且随着问题的输入量的增加,问题的规模急剧增长至计算机的处理能力的极限,所以可以说组合数学问题是最难的一类问题。 1.2.6 几何问题 几何问题是几何数学上与点、线、多边形相关的问题。当然,这不是一本几何学的书,所以这里只会涉及如直线段的表示、相交判断等基本问题。同时还会给出最近邻点问题与凸包问题这两个重要问题的介绍。它们都有穷举法与分治法的算法版本,通过比较,可以深入体会到其中所用到的算法设计思想。 1.2.7 数值计算问题 数值计算问题是另一大类问题,它要解决的问题包括:求解方程或者方程组,求数值积分等。这些问题常常只能给出一

文档评论(0)

1亿VIP精品文档

相关文档