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!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

MantisBT
Mantis is an easy-to-deploy web-based defect tracking tool designed to aid in product defect tracking. It requires PHP, MySQL and a web server. Check out our demo and hosting services.

Dreamweaver Mac version
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

PhpStorm Mac version
The latest (2018.2.1) professional PHP integrated development tool

WebStorm Mac version
Useful JavaScript development tools