问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
你好,欢迎来到懂视!登录注册
当前位置: 首页 - 正文

八皇后递归算法无法实现递归

发布网友 发布时间:2024-04-14 10:24

我来回答

1个回答

热心网友 时间:2024-04-29 01:59

你的思路有问题,递归算法是不需要你重置的,你只要搞清楚递归关系就行了。
你会全排列算法吗,这个问题其实就是8个数的全排列问题,每一行只选一个数,012。。。7,8行全排列有多少?
如果我求得固定第一位后的排列,那么全部排列就可以求出,固定第一位有8种可能,可以循环求得。
如果我求得固定第二位后的排列,固定第一位后的排列就可以求出,固定第二位有7种可能,可以循环求得。
。。。
如果我求得固定第8位后的排列,固定第7位后的排列就可以求出,固定第8位有1种可能,可以循环求得。
这很明显是递归的算法。
#include <stdio.h>
#include <stdlib.h>
#define max 8
intqueen[max],sum=0;/* max为棋盘最大坐标 */
voidshow()/* 输出所有皇后的坐标 */
{
inti;
for(i =0;i <max;i++)
{
printf("(%d,%d) ",i,queen[i]);
}
printf("\n");
sum++;
}
intcheck(intn)/* 检查当前列能否放置皇后 */
{
inti;
for(i =0;i <n;i++)/* 检查横排和对角线上是否可以放置皇后 */
{
if(queen[i]==queen[n]||abs(queen[i]-queen[n])==(n -i))
{
return1;
}
}
return0;
}
voidput(intn)/* 回溯尝试皇后位置,n为横坐标 */
{
inti;
for(i =0;i <max;i++)
{queen[n]=i;/* 将皇后摆到当前循环到的位置 */
if(!check(n))
{
if(n ==max -1)
{
show();/* 如果全部摆好,则输出所有皇后的坐标 */
}
else
{
put(n +1);/* 否则继续摆放下一个皇后 */
}
}
}
}
intmain()
{
put(0);/* 从横坐标为0开始依次尝试 */
printf("%d",sum);
system("pause");
return0;
八皇后递归算法无法实现递归

如果我求得固定第8位后的排列,固定第7位后的排列就可以求出,固定第8位有1种可能,可以循环求得。这很明显是递归的算法。include &lt;stdio.h&gt; include &lt;stdlib.h&gt; define max 8 intqueen[max],sum=0;/* max为棋盘...

关于八皇后递归转化为非递归问题

给你个用递归与非递归算法解决八皇后的问题的程序把 代码如下:include&lt;iostream&gt; using namespace std;static int count;class huanghou { private:int *path;int p[8];public:huanghou();~huanghou();bool place(int...

递归回溯算法解决八皇后问题

说明:理论上应该创建一个二维数组来表示棋盘,但是实际上可以通过算法,用一个一维数组即可解决问题. arr[8] = {0 , 4, 7, 5, 2, 6, 1, 3} //对应arr 下标 表示第几行,即第几个皇后,arr[i] = val , ...

求PASCAL递归八皇后程序,加解析,要在FREE PASCAL上过了的,事后给分_百...

这样如果我们在第i行第j列上放置了皇后,则只要设置:a[j]=False;c[i-j]=False;b[i+j]=False;就可以解决是否被攻击的问题。为了方便起见我们把数组a、b、c的下标说明为子界类型-n+1..2*n。数组x记录每组解...

八皇后问题

八皇后问题最简单的串行解法为如下的递归算法: (2.1)深度递归函数: go(int step,int column) {int i,j,place; row[step]=column; if (step==8) outputresult( ); /*结束递归打印结果*/ else /*继续递归*/ {for(place=1...

关于PASCAL的经典题目

一、回溯算法 回溯算法是所有搜索算法中最为基本的一种算法,其采用了一种“走不通就掉头”思想作为其控制结构,其相当于采用了先根遍历的方法来构造解答树,可用于找解或所有解以及最优解。具体的算法描述如下:[非递归算法]&lt;Type&gt; ...

八皇后问题求解方法分类

try(1);{从第1个皇后开始放置} end.“八皇后”问题递归法求解 (C语言)#i nclude "stdio.h"static char Queen[8][8];static int a[8];static int b[15];static int c[15];static int iQueenNum=0; //...

八皇后递归算法 求解空间复杂度

因为每递归一层,只是增加一个形式变量的空间,以及递归返回地址的开销。而且在八皇后问题来说,递归深度最大为9层。若是N皇后问题,则空间复杂度也仅是O(N),且系数挺小的。所以说,在这里空间复杂度不是一个大的问题...

【八皇后问题】我自己写的,感觉能通,检查没有语句错误,但运行后直接...

你可以使用调试看看自己代码运行的过程,八皇后是关于深度优先的递归算法(DFS)。include &lt;stdio.h&gt; include &lt;math.h&gt; define QUEEN 8 int count=0;int queen[QUEEN]; // 存放每一列的列数 void Output(int queen[...

八皇后c++源码讲解

回溯法在理论上来说,就是在一棵搜索树中从根结点出发,找到一条达到满足某条件的子结点的路径.在搜索过程中,对于每一个中间结点,他的位置以及向下搜索过程是相似的,因此完全可以用递归来处理.典型的例子就是著名的"八皇后问题". "八...

声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com
...如果我想家说的话,我可不可以放一些白开水呢?白开水还是 歌词:像风一样轻的自由,像雨一样洒落温柔。请问歌名是什么 东莞市新塘村到东塘村的公交路线 吃好饭走路站立胃难受 ...时间长了胃就难受死了,感觉胃酸酸的,这是怎么回事? 药店里卖的吃的胶原蛋白真能增加皮肤弹性吗? 药店卖的胶原蛋白对皮肤的作用大吗 艺术字形状怎么设置 铁烧红了油压能压扁吗 ...医院帮我针灸后配了伤药,我吃了一顿伤药后胃疼痛得难忍?四天下来还... 北京有财产纠纷的离婚官司请律师!看律师排行榜前十名 朋友圈要如何发3分钟以上的长视频 当时唐朝厉害的人物基本都在太子身边,为何最后李世民得胜了呢?_百度知 ... 玄武门之变前,厉害人物大都在太子身边,为何最后李世民得胜了呢... 在数学中,张量是如何定义并进行运算的? 张量积的运算法则是什么? 深圳东湖公园菊花展在哪个门 深圳东湖公园菊花展在哪个位置 100厚的alc内隔墙板在层高超过3.6米的卫生间使用需要设置反坎和圈梁吗... 轻质隔墙板安装要求,断裂的板是否可以使用,高度超过3米得板是否可以用整... 风筝放飞起来挂上那么个小风筝就飞上去到顶还自动下来的那个叫什么... 我的马桶冲水后总是不会自动停水,便池内一直是涓涓细流,请问如何解决... 我家马桶水箱里水很快满了,不会自动停止上水,怎么弄? 选购茉莉蜜茶需要注意什么细节? 九溪树的创始人可以给我介绍一下吗?我想加盟这个养生品牌! 我国最高跨度最长的桥 中国跨度最长的桥是什么桥 求高手指教小弟现在电解抛光不锈钢不知道拿什么金属做挂具能耐... 施工单位擅自拿监理项目部章违法吗 防弹少年团闵玧其现在的发色 2018染什么发色 右心室流出道室性早搏射频消融术后会不会对高考填志愿有所限制?_百 ... 诗画中国五牛图是第几集 诗画中国第五期播时间 我在每个星期六下午去游泳。(过去式) ...他看见叶子啊什么东西,一定要踩一下,比如有个木板,他一直要用手去... ...木板上画两个点,然后过这两点弹出一条墨线,这是为什么? 怎样才能在木板上一笔划两相叉条线 东莞地铁2号线最后一班是几点? 研究生复试不去会怎样 考研复试前放弃会不会有影响? 研究生复试没过会有什么后果吗? 跟李世民同一时期的外国君王 ...在led上电阻的功率为什么我跟据欧姆定律算出是几瓦,而实际0.2w... ...灯板是5并12串的,两块板连接起来使用,灯珠是0.2W粒,60ma粒,3.2... 并列前进 是什么数字?是11吗 打狗要关门打一数字 EXCEL中将表格转换为区域后有什么变化 我不吸烟 早上刷完牙为什么会感觉恶心 然后咳出黑棕褐色的貌似痰的液体... 每次刷完牙有点恶心是怎么回事? 从湛江怎么到厦门?坐火车要多少个钟?(包括中转时间);坐汽车又要多少个...
  • 焦点

最新推荐

猜你喜欢

热门推荐