Java遞歸算法可以應用于以下場景:
public static int factorial(int n) {
if (n <= 1) {
return 1;
}
return n * factorial(n - 1);
}
public static int fibonacci(int n) {
if (n <= 1) {
return n;
}
return fibonacci(n - 1) + fibonacci(n - 2);
}
public static void listFiles(File directory) {
File[] files = directory.listFiles();
if (files != null) {
for (File file : files) {
if (file.isDirectory()) {
listFiles(file); // 遞歸調用自身
} else {
System.out.println(file.getName());
}
}
}
}
需要注意的是,在使用遞歸算法時,要確保遞歸調用最終會終止,否則可能會導致無限遞歸的情況發生。同時,遞歸算法的效率可能不如迭代算法,因此在選擇算法時需要權衡利弊。