gpt4 book ai didi

algorithm - 用于生成 ‘n’ 位二进制字符串的回溯。有人可以解释一下回溯是如何在这里完成的吗?

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:07:57 24 4
gpt4 key购买 nike

为了生成 n 位的二进制字符串,我有以下递归解决方案。

public static void main(String[] args) {
int n = 4;
int[] array = new int[n];
generateBinaryStrings(array, n);
}

public static void generateBinaryStrings(int[] array, int N) {
if (N < 1) {
System.out.println(Arrays.toString(array));
} else {
array[N - 1] = 0;
generateBinaryStrings(array, N - 1);
array[N - 1] = 1;
generateBinaryStrings(array, N - 1);
}
}

该解决方案工作正常,但我被告知这里使用了回溯,正如许多关于此问题的文章中所说的那样。有人可以解释一下这里是如何进行回溯的吗?

最佳答案

这不是回溯,这只是纯粹的递归。回溯(通常)是一种递归算法,一旦您知道遵循它是没有用的,您就会切断并返回轨道。

关于algorithm - 用于生成 ‘n’ 位二进制字符串的回溯。有人可以解释一下回溯是如何在这里完成的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53975201/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com