
递归
要不一起ci个饭
我想去山顶⛰️
展开
-
重建二叉树(根据先序遍历(或者后序遍历)和中序遍历重建二叉树)
重建二叉树先序遍历和中序遍历后序遍历和中序遍历 先序遍历和中序遍历 1、先序遍历的结果中第一个元素一定是根节点 2、先序遍历结果= 根节点+左子树先序结构+右子树先序结果 3、中序遍历结果= 左子树的中序结果+根节点+右子树的中序结果 根据上图,3为根节点,根据中序遍历9是3的左子树而且只有一个节点,先序中9后面的20就是3的右子树的根节点,然后再看中序遍历,15在20的左侧7在20右侧,得15...原创 2020-04-28 00:55:13 · 2015 阅读 · 0 评论 -
递归(四)JAVA 汉诺塔(Hanoi Tower)问题的解决以及青蛙跳台阶问题的三种方式
首先先看汉诺塔,汉诺塔问题是比较常见且经典的使用递归解决的问题。 那什么是汉诺塔呢? 汉诺塔源自古印度的传说,源于印度一个古老传说。 大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘。 大梵天命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱子上。并且规定,任何时候,在小圆盘上都不能放大圆盘,且在三根柱子之间一次只能移动一个圆盘。 通俗讲:总共有三根柱...原创 2020-03-13 14:35:46 · 593 阅读 · 0 评论 -
递归(三)利用递归和非递归输出裴波那契数列第n项
利用递归和非递归输出裴波那契数列第n项 思想: 从第三项开始,前两项之和等于第三项。 裴波那契数规律: 递归程序: import java.util.Scanner; public class diGui { public static void main(String[] args) { System.out.println("输入数字:"); Scann...原创 2020-03-13 00:22:47 · 628 阅读 · 0 评论 -
递归(二)递归按顺序打印一个数字的每一位(例如 1234 打印出 1 2 3 4)及递归输入一个非负整数,返回组成它的数字之和
递归(二) 1、按顺序打印一个数字的每一位(例如 1234 打印出 1 2 3 4) 对输入的数字n每次先n/10去除最后一位,直到满足终止条件数字n<9时开始%10输出,之后在依次往回。 图有点丑 先递后归!!! import java.util.Scanner; public class diGui { public static void main(String[] arg...原创 2020-03-12 23:49:56 · 1299 阅读 · 1 评论 -
递归(一)求n的阶乘 及 求n项累加
递归(一) 递归求n的阶乘 利用每次将后面的数字看作整体: sum = n * {(n-1)(n-2) (n-3) *… * 1} n-1 =(n-1){(n-2)(n-3)(n-4)(n-5)(n-6)…*1}的思想,话不多说直接上代码!!!。 虽然是java写的但是原理相同,思路一致。 import java.util.Scanner; public class diGui { pub...原创 2020-03-12 22:42:41 · 2344 阅读 · 0 评论