求职面试-算法复习系列

(1)递归算法:递归算法有两个关键点:(1)递归出口;(2)递归过程

void hanoi(int n, char one, char two, char three)
/*   将n个盘子从one 座借助two座, 移到three 座*/
{ 
	if (n= =1)
		 move (one, three);  //递归出口,如果递归出口不对,则会耗尽系统栈内存
 	else {                               //递归过程
		hanoi(n-1, one, three, two); //第一步,将one上面的n-1个盘子,通过three移动到two
	 	move(one, three);	     //第二步,将one上面的那个盘子直接移动到three上	
		hanoi(n-1, two, one, three); //第三步,将two上面的n-1个盘子,通过one移动到three上面
	}
}
main()
{ 
	int m;
 	printf(input the number of diskes:);
	scanf(“%d”,&m);
	printf(“The step to moving %3d diskes:
”,m);
	hanoi(m,’A’,’B’,’C’);
}

(2)贪心算法

(3)动态规划



原文地址:https://www.cnblogs.com/javaadu/p/11742643.html