
What is recursion
Recursion as an algorithm is widely used in programming languages. It refers to the function/process/subprogram that directly or Reentrancy caused by indirectly calling itself.
Recursive algorithms are generally used to solve three types of problems:
a. The definition of data is recursively defined. (Fibonacci (Fibonacci) function)
b. The problem solution is implemented by a recursive algorithm. (Traceback)
c. The structural form of data is defined recursively. (Tree traversal, graph search)
Learning video tutorial sharing:java teaching video
Example:
This is an example of arrangement, What it does is sort all the elements in an input string and output
. For example: if the parameter you give is "abc", the program will output: abc acb bac bca cab cba a
The exit of the algorithm is: low=high, that is, when there is only one arrangement element given now.
The approximation process of the algorithm: first determine the first element of the arrangement, which is the element represented by i in the loop, then low+1 starts to reduce the arrangement elements, and so on, until low=high
Examples are as follows:
public class Foo {
public static void main(String[] args) {
permute(“abc”);
}
public static void permute(String str) {
char[] strArray = str.toCharArray();
permute(strArray, 0, strArray.length – 1);
}
public static void permute(char[] list, int low, int high) {
int i;
if (low == high) {
String cout = “”;
for (i = 0; i <= high; i++){
cout += list[i];
System.out.println(cout);
}
}else {
for (i = low; i <= high; i++) {
char temp = list[low];
list[low] = list[i];
list[i] = temp;
permute(list, low + 1, high);
temp = list[low];
list[low] = list[i];
list[i] = temp;
}
}
}
}Recommended related articles and tutorials: Introduction to java programming
The above is the detailed content of What is recursion in java. For more information, please follow other related articles on the PHP Chinese website!