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!