![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
递归算法
lj_suxin
这个作者很懒,什么都没留下…
展开
-
七巧板着色问题(四种颜色,相邻区域颜色不同),输出所有可行方案
#include <iostream> #include <cmath> #include <stdio.h> #include <stdlib.h> using namespace std; int data[8][8]={0,0,0,0,0,0,0,0, 0,0,1,0,0,1,0,1, 0,1,0,0,1,0,1,0, 0,0,0,0,1,0,0,1, 0,0,1,0,0,0,1,1, 0,1,0,0,0,0,0,1, 0,0,1,1,1,0...原创 2021-06-17 13:03:41 · 2403 阅读 · 0 评论 -
n个数中取r个数的全排列的递归回溯实现
#include"stdio.h" #include"stdlib.h" #include"string.h" int count=0; int a[20]; int n=5, r=3; void output() { int j; for(j=1; j<=r; j++) printf("%d ", a[j]); count++; printf("\n"); } void comb(int ri) { if(ri>r) output()...原创 2021-06-17 12:55:10 · 234 阅读 · 0 评论 -
受限汉诺塔问题
受限汉诺塔问题 古代有一个梵塔,塔内有3个基座A、B、C,开始时A基座上有64个盘子,盘子大小不等,大的在下,小的在上。有一个老和尚想把这64个盘子从A座移到C座,但(1)每次只允许移动一个盘子;(2)在移动过程中在3个基座上的盘子都始终保持大盘在下,小盘在上;(3)任何移动要么把一个盘子搬到B上,要么从B上搬走一个盘子。请编程打印出移动过程 。 分析:把n个盘子从A移动到C可分五步完成 1)把1到n-1号盘子从A移动到C; 2)把n号盘子从A移动到B; 3)把1到n-1号盘子从C移动到A; 4)原创 2020-07-06 19:48:36 · 1103 阅读 · 0 评论 -
利用分治法求一组数据中最大的两个数和最小的两个数。
解题思路:二分法,保留每个子问题的最小的两个数和最大的两个数 #include <stdio.h> #include <stdlib.h> #include<iostream> float a[100]; float max1, max2, min1, min2; //min1<min2, min1保存最小的数, min2 保存次小数; max2<max1, max1保存最大数, max2保存次大数 void min_maxtwo...原创 2020-06-08 23:27:15 · 8034 阅读 · 0 评论 -
递归算法 .
http://blog.csdn.net/wangjinyu501/article/details/8248492 原版 一、基本概念 递归算法是一种直接或者间接调用自身函数或者方法的算法。Java递归算法是基于Java语言实现的递归算法。递归算法的实质是把问题分解成规模缩小的同类问题的子问题,然后递归调用方法来表示问题的解。递归算法对解决一大转载 2015-09-23 15:03:38 · 406 阅读 · 0 评论