算法设计与分析;课程简介;第1部分算法和算法分析;第1章算法问题求解基础;1.1算法概述
1.2问题求解方法
1.3算法设计与分析
1.4递归和归纳 ;1.1算法概述;1.1.1什么是算法;输入(input):算法有零个或多个输入量;
输出(output):算法至少产生一个输出量;
确定性(definiteness):算法的每一条指令都有确切的定义,没有二义性;
能行性(effectiveness):算法的每一条指令必须足够基本,它们可以通过已经实现的基本运算执行有限次来实现;
有穷性(finiteness):算法必须总能在执行有限步之后终止。;欧几里德算法(辗转相除法)
计算两个整数m和n(0≤m<n)的最大公约数,记为gcd(m,n)。;【程序1-1】欧几里德递归算法
intRGcd(intm,intn)
{
if(m==0)returnn;
returnRGcd(n%m,m);
}
intGcd(intm,intn)
{
if(mn)Swap(m,n);
returnRGcd(m,n);
};【程序1-1】欧几里德递归算法
intRGcd(intm,intn)
{
if(m==0)returnn;
returnRGcd(n%m,m);
原创力文档

文档评论(0)