递归算法
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 · 2433 阅读 · 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 · 264 阅读 · 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 · 1125 阅读 · 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 · 8084 阅读 · 0 评论 -
递归算法 .
http://blog.csdn.net/wangjinyu501/article/details/8248492 原版一、基本概念 递归算法是一种直接或者间接调用自身函数或者方法的算法。Java递归算法是基于Java语言实现的递归算法。递归算法的实质是把问题分解成规模缩小的同类问题的子问题,然后递归调用方法来表示问题的解。递归算法对解决一大转载 2015-09-23 15:03:38 · 416 阅读 · 0 评论