说明:
本文英文来自网络:http://book.idoican.com.cn/detail/defaultview.aspx?BookID=ISBN7-04-011050-4。翻译本文只是为了自我学习。
Introduction
简介
这一部分将带领你开始思考算法的设计与分析。根据安排,这里会进行总体的介绍,包括怎么来挑选算法,一些贯穿整本书的算法设计技巧,还有一些基本的算法分析概念。后面的部分都是以这一部分为基础。
第一章是对算法领域的俯瞰和它在现代计算机系统中的地位。这一章定义了什么是算法,包括一些算法的例子。它同时给出了这样一个观点,算法是一种技术,就想快速发展的硬件、图形化界面、面向对象和网络一样。
在第二章,会看到我们的第一个算法,解决对n个数字的排序问题。他们是用伪代码写的。虽然不能直接转换成现在流行的程序语言,但是它们的结构非常清楚,每个合格的程序员都能用自己熟悉的语言来编译它。我们讨论的排序一个是插入排序,采用一种渐进的方法,还有一个是合并排序,采用的是递归的方法,或者叫“分而治之”。虽然每种所需要的时间会随着n的增大而增加,但是他们的比率是不一样的。我们会在第二章分析他们的运行时间,而且会用一套符号来表示。
第三章就是要来定义这些符号,我们把它们叫做渐进符号,用来给算法运行时间划定上边界/下边界或者上下边界。第三章其余部分主要就是用来介绍数学符号,目的是为了告诉你怎么使用这些符号而不是要告诉你一些新的数学概念。