DFS(深度优先搜索)的核心思想是沿着一条路径深入探索,直到无法继续时回退一步,尝试寻找其他未探索的路径。如果依然无路可走,就再次回退,重复这一过程,直到所有可能的路径都被探索完毕。
递归的思想是通过不断调用自身函数,逐层深入解决问题。当满足终止条件时,停止递归并开始逐层回溯。其原理与深度优先搜索的探索与回溯过程高度一致,因此递归是实现深度优先搜索的常用方法。
我们来看看样例是怎么具体实现的
题目描述:
给定一个包含 n 个不同整数的数组 nums,请你使用深度优先搜索(DFS)算法,输出数组中所有可能的排列结果。
排列中的每个元素必须是唯一的,按照字典序的顺序排列
开通会员即可查看完整视频题解: 1.题目讲解 2.思路分析 3.逐行代码手写