![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
文章平均质量分 54
放点糖
在校学生
展开
-
八皇后问题【回溯】
问题描述在8×8格的国际象棋上摆放8个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上,问有多少种摆法思路分析给定一个这样的棋盘,我该如何摆放皇后呢?第一个皇后先放第一行第一列第二个皇后放在第二行第一列、然后判断是否oK,如果不oK,继续放在第二列、第三列、依次把所有列都放完,找到一个合适继续第三个皇后,还是第一列、第二列…直到第8个皇后也能放在一个不冲突的位置,算是找到了一个正确解当得到一个正确解时,在栈回退到上一个栈时,就会开始回溯,即将第一个皇后,放到第一列原创 2022-05-22 22:18:53 · 250 阅读 · 0 评论 -
迷宫问题【回溯】
问题描述给定一个迷宫(地图,这里使用二维数组来模拟),让一个小球从某一位置开始寻找唯一出口(指定位置)实现代码package com.fuytang.recursion;/** * @Description * @Atuther fuytang * @Date 2022-05-21 18:36 */public class Migong { public static void main(String[] args) { //创建一个迷宫 int[原创 2022-05-21 19:17:46 · 85 阅读 · 0 评论 -
递归【学习】
什么是递归简单来说:就是方法自己自己调用自己,需要注意的每次调用自己时传入的变量不同,在解决复杂问题时,递归很常用。值得注意的是:在内存限制苛刻,并且递归次数比较多时,要慎重使用。因为在递归过程中会在内存中开出大量的栈,从而占用内存。递归能解决什么问题各种数学问题如:8皇后问题,汉诺塔,阶乘问题,迷宫问题,球和篮子的问题(google编程大赛)各种算法中也会使用到递归,比如快排,归并排序,二分查找,分治算法等.将用栈解决的问题–>第归代码比较简洁案例打印问题public clas原创 2022-05-21 17:35:24 · 155 阅读 · 0 评论