移动端放个图连试几次崩了,真有你的。其余看图。代码没有全。
递归就是两个肉夹馍的饼子夹了个蛋,或着蛋在两个饼子上面,又或是下面。更有点离谱的是,这样的肉夹馍又被当做饼子夹住另一块肉。就一直夹下去。
好的,方法写完。程序开始运行的时候,你一口咬下去的肉(从上往下数)就是递归得到的结果。不习惯肉夹馍的可以当做汉堡。
void Inorder(BiTree T){
if(T!= NULL){
InOrder(T->child);
visit(T);
InOrder(T->rchild);
}
}
应用:关键是不理解上周java课实验的递归程序,数据结构学到树的这里一下就清晰了。这种树的遍历可以出现格雷码里(相邻的两个数只改变一位)
import java.util.Scanner;
public class Beckett {
// 格雷码只改变一位,
public static void moves(int n, boolean enter) {
if (n == 0)
return;
moves(n - 1, true);
if (enter)
System.out.println("enter " + n);
else
System.out.println("exit " + n);
moves(n - 1, false);
}
public static void main(String[] args){
try(var in = new Scanner(System.in);){
int n = in.nextInt();
moves(n,true);
}
}
}