DFS算法的实现(例题)

         这是C++算法基础-搜索与图论专栏的第三十七篇文章,专栏详情请见此处


引入

        上篇博客,我们学习了DFS算法的大体套路,这次,我将会通过两个例题来更详细的讲解。

        下面我们就来讲DFS算法(例题)的实现。

过程

        例题1:排列数字

        题目大意:给定一个整数n,将数字1\sim n排成一排,请你按照字典序将所有的排列方法输出。

        这是一道最经典的DFS问题之一,方法很简单:先循环确定第一个数,调用函数,再循环确定第二个数,注意特判不能和第一个数相同,再调用函数确定第三个数,也特判不能和第一个数和第二个数一样.....此时,所有位置填完,无法继续填数,所以这是一种方案,输出;然后回溯到第n-1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值