2021年程序员递归面试问题及解析

上传人:公**** 文档编号:432953929 上传时间:2022-10-05 格式:DOCX 页数:2 大小:9.82KB
返回 下载 相关 举报
2021年程序员递归面试问题及解析_第1页
第1页 / 共2页
2021年程序员递归面试问题及解析_第2页
第2页 / 共2页
亲,该文档总共2页,全部预览完了,如果喜欢就下载吧!
资源描述

《2021年程序员递归面试问题及解析》由会员分享,可在线阅读,更多相关《2021年程序员递归面试问题及解析(2页珍藏版)》请在金锄头文库上搜索。

1、程序员递归面试问题及解析程序员递归而试问题及解析面试例题2:八皇后问题是一个古老而著名的问题,是回溯算法的典型例题。该问题是19世纪著名的数学家高斯1850年提出:在8X8格的.国际象棋盘上摆放8个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上,问有多少种摆法。英国某著名计算机图形图像公司而试题解析:递归实现n皇后问题。算法分析:数组a、b、c分别用来标记冲突,a数组代表列冲突,从a0笃7代表第0列到第7列。如果某列上已经有皇后,则为1,否则为0o数组b代表主对角线冲突,为bi-j+7,即从b0b14。如果某条主对角线上己经有皇后,则为1,否则为0o数组c代表从对角

2、线冲突,为ci+j,即从c0乙14。如果某条从对角线上己经有皇后,则为1,否则为0。代码如下:includestaticcharQueen88;staticinta8;staticintb15;staticintc15;staticintiQueenXumO;/记录总的棋盘状态数voidqu(inti);/参数i代表行intiLine,iColumn;/棋盘初始化,空格为*,放置皇后的地方为for(iLine=0;iLine8;iLine+)aiLine二0;/列标记初始化,表示无列冲突for(iColumn=0;iColumn8;iColumn+)QueenLiLineiColumn=,;/

3、主、从对角线标记初始化,表示没有冲突for(iLine=0;iLine15;iLine+)biLine二ciLine二0;qu(0);:return0;voidqu(inti)intiColumn;for(iColumn=0;iColumn+iQueenNum);for(iLine=0;iLine8;iLine+)for(iColumn=0;iColumn8;iColumn+)printf(%c”,QueeniLineiColumn);printfCW);printf(,znnz/);/如果前次的皇后放置导致后而的放置无论如何都不能满足要求,则回溯,重置QueeniiColumn二;aiColumn=0;bi-iColumn+7=0;ci+iColumn=0;模板,内容仅供参考

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 活动策划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号