第三课
本课主题 算法及算法设计要求
教学目的 掌握算法的定义及特性算法设计的要求
教学重点 算法的特性算法设计要求
教学难点 算法设计的要求
授课内容
一算法的定义及特性
定义
ispass(int num[][])
{ int ij;
for(i=;i<;i++)
for(j=;j<;j++)
if(num[i][j]!=i*+j+)/*一条指令多个操作*/
return ;
return ;
}/*上面是一个类似华容道游戏中判断游戏是否结束的算法*/
算法是对特定问题求解步骤的一种描述它是指令的有限序列其中每一条指令表示一个或多个操作此外一个算法还具有下列五个重要特性
算法的五个特性
有穷性
一个算法必须总是(对任何合法的输入值)在执行有穷步之后结束且每一步都可在有穷时间内完成
确定性
算法中每一条指令必须有确切的含义读者理解时不会产生二义性有任何条件下算法只有唯一的一条执行路径即对于相同的输入只能得出相同的输出
可行性
一个算法是能行的即算法中描述的操作都是可以通过已经实现的基本运算执行有限次来实现的
输入
一个算法有零个或多个的输入这些输入取自于某个特定的对象的集合
输出
一个算法有一个或多个的输出这些输出是同输入有着某些特定