dfs伪代码

dfs 伪代码

dfs(...) //含义:(!!)准备 对当面步 做决定 
{
	if(ok==1)
	return;
    if(该决定不符合条件)  //  11
    	return;
	
	if(到终点)
	{
		ok=1...
		return;
	 } 
	
	... 
	
	  do   //有时  当前步只有一个决定 
	  {1)对当前步 做第一个决定;
	   		 
			进行数据处理 !! 
				  	
	  		for(int i=1;i<=...;i++)
	  		{
	  			dfs(next);  //直接进行下一个决定,下一个决定是否正确在11处判断,不在该处判断,否则可能如果输入只做一个决定就结束了,不会判断到第一步的错误
		 	}
		 	
	  		还原,以便做其他决定; !!!   注意不是dfs(next)的还原!!
	  	
	  	
	  	
	  	(2)对当前步 做第二个决定;
	  	
	    	 进行数据处理 	  	
	    	 
	  		 for(int i=1;i<=...;i++)
	  		 {
	  			dfs(next);
			 }
			 
	  		还原,以便做其他决定; 
	  	
	  	
	  }
     	  
	                         
	                         
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值