shell33168 2017-09-18 15:40 采纳率: 0%
浏览 884

回溯是如何穷举搜索的啊?

生成二进制串的代码如下:

 import java.util.Arrays;

/**
 * 生成所有0,1组合的,n位长的字符串
 * author:yangz yuan
 * */

public class P32_Binary{
    public static void Binary(int n,int[] A){
        if (n<1){
            System.out.println(Arrays.toString(A));
        }else{
            A[n-1]=0;
            Binary(n-1,A);
            A[n-1]=1;
            Binary(n-1,A);
        }
    }

    public static void main(String[] args) {
        int n=2;
        int[] A=new int[n];
        Binary(n,A);
    }
}

谁能跟我解释一下else里面怎么运行的啊?
else里面第一次调用了方法自身,它之后的
A[n-1]=1 和 Binary(n-1,A);为什么会被执行呢?

  • 写回答

1条回答

  • threenewbee 2017-09-19 03:41
    关注

    这个就是递归啊,递归明白么?

    评论

报告相同问题?

悬赏问题

  • ¥15 mmocr的训练错误,结果全为0
  • ¥15 python的qt5界面
  • ¥15 无线电能传输系统MATLAB仿真问题
  • ¥50 如何用脚本实现输入法的热键设置
  • ¥20 我想使用一些网络协议或者部分协议也行,主要想实现类似于traceroute的一定步长内的路由拓扑功能
  • ¥30 深度学习,前后端连接
  • ¥15 孟德尔随机化结果不一致
  • ¥15 apm2.8飞控罗盘bad health,加速度计校准失败
  • ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
  • ¥15 谁有desed数据集呀