数据结构---递归的运用
文章平均质量分 96
深度搜索、回溯、FloodFill 算法、记忆化搜索
***似水流年***
编程练习生
展开
-
递归、搜索、回溯的基础应用
回溯算法是⼀种经典的递归算法,通常用于解决组合问题、排列问题和搜索问题等。回溯算法的基本思想:从⼀个初始状态开始,按照⼀定的规则向前搜索,当搜索到某个状态无法前进时,回退到前⼀个状态,再按照其他的规则搜索。回溯算法在搜索过程中维护⼀个状态树,通过遍历 状态树来实现对所有可能解的搜索。回溯算法的核心思想:“试错”,即在搜索过程中不断地做出选择,如果选择正确,则继续向前搜索;否则,回退到上⼀个状态,重新做出选择。回溯算法通常用于解决具有多个解,且每个解都需要搜索才能找到的问题。题目一:全排序。原创 2024-03-25 00:13:54 · 703 阅读 · 1 评论 -
运用递归、回溯、深度搜索解决N皇后、解数独等问题
2、操作思路:首先,我们在第一行放置第一个皇后,然后遍历棋盘的第二行,在可行的位置放置第二个皇后,然后再遍历第三行,在可行的位置放置第三个皇后,以此类推,直到放置了 n 个皇后为后。⼀种判断括号是否合法的方法:从左往右遍历,左括号的数量始终大于等于右括号的数量,并且左括号的总数量与右括号的总数量相等。2、在斜率为1的斜线上面:也就是皇后在y=-x+b的斜线上面推出:y+x=b。1、理解题意:在n * n棋盘上面放置n个皇后,这说明,在n行中,每一行都必须有一个皇后,同时每一列也必须要有一个皇后。原创 2024-03-24 03:51:54 · 991 阅读 · 1 评论