[toc]

算法

概念

为了定义某问题,必须给出一系列的运算规则,这一系列的运算规则是有限的,表达了求解问题方法和步骤,这就是算法。

一个算法可以用自然语言描述,也可以用高级程序设计语言描述,也可以用伪代码描述。本书采用C语言对算法进行描述。

基本特征

有穷性,算法的执行必须在有限步内结束。

确定型,算法的每一步骤必须确定无二义性的。

输入,算法可以有0个或多个输入。

输出,算法一定有输出结果。

可行性:算法中的运算必须是可以实现的

算法复杂性

概念

一个算法的优劣主要从算法的执行时间和所需要占用的储存空间两个方面衡量。

对于算法的时间复杂性,采用算法执行过程中其基本操作的执行次数,称为计算量来度量

算法中基本操作的执行时间和所需要占用的存储空间两个方面衡量

对于算法中的时间复杂度,采用算法执行过程中其基本操作的执行次数,称为计算量来度量

算法中基本操作的执行次数一般是与问题规则有关的,对于结点个数为n的数据处理问题,用T(n)来表示算法基本操作的执行次数。

因素

  1. 输入数据项数目
  2. 输入数据分布
  3. 实现算法
  4. 使用数据结构

评价

(1)合理选择一个或几个操作作为“标准操作”。

(2)计算量=给定输入下执行标准操作的次数。