算法导论第十五章答案
- 格式:pdf
- 大小:13.33 MB
- 文档页数:89


第1章算法在计算中的作用什么是算法?为什么要对算法进行研究?相对于计算机中使用的其他技术来说,算法的作用是什么?在本章中,我们就要来回答这些问题.1. 1算法简单来说,所谓抹法(also*llem)就是定义良好的计算过程,它取一个或一组值作为输入,并产生出一个或一组值作为输出。
亦即,算法就是一系列的计算步驭,用来将输人数据转换成输出结果。
我们还可以将算法看作是一种工具。
用来解决一个具有良好规格说明的计算问题。
有关该问题的表述可以用通用的语言,来规定所需的输人/输出关系。
与之对应的算法则描迷了一个特定的计算过程,用于实现这一输人/输出关系例如.假设需要将一列数按非降顺序进行排序。
在实践中,这一问皿经常山现。
它为我们引入许多标准的算法设计技术和分析工具提供了丰富的问题场景。
下面是有关该排序间题的形式化定义,输入:由n个数构成的一个序列编出:对输人序列的一个排列(重排)例如,给定一个输人序列(31. 41. 59. 26, 41, 58).一个排序算法返回的怕出序列是(26,31. 41. 41. 58, 59).这样的一个输人序列称为该排序问趣的一个实例G.-e)。
一般来说,某一个问题的实例包含了求解该间题所需的输人(它满足有关该同题的表述中所给出的任何限制)。
在计算机科学中,排序是一种基本的操作(很多程序都将它用作一种申间步骤)。
因此,迄今为止,科研人员提出了多种非常好的排序算法。
对于一项特定的应用来说,如何选择最佳的排序算法要考虑多方面的因素,其中最主要的是考虑待排序的数据项数、这些数据项已排好序的程度、对数据项取值的可能限制、打算采用的存储设备的类型〔内存、磁盘、磁带)等。
如果一个算法对其每一个输人实例,都能输出正确的结果并停止,则称它是正确的。
我们说一个正确的算法解决了给定的计算向题不正确的算法对于某些输人来说.可能根本不会停止或者停止时给出的不是预期的结果.然面,与人们对不正确算法的看法相反,如果这些算法的错误率可以得到控制的话,它们有时也是有用的.关子这一点,在第31章中研究用于寻找大质数的算法时介绍了一个例子。