![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
carol-2013
这个作者很懒,什么都没留下…
展开
-
汉诺塔问题
什么是汉诺塔 汉诺塔(Tower of Hanoi)源于印度传说中,大梵天创造世界时造了三根金钢石柱子,其中一根柱子自底向上叠着64片黄金圆盘。大梵天命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱子上。并且规定,在小圆盘上不能放大圆盘,在三根柱子之间一次只能移动一个圆盘。 递归分析 递归分析我们需要从移动圆盘的动作中找出相同的操作。 我们可以这样思考: 假设三根柱子用X...原创 2019-05-20 10:17:17 · 189 阅读 · 0 评论 -
将输入的字符串使用递归反序输出
/** * 将输入的字符串使用递归反序输出 */ public class InverseOutputString { public static void input(){ Scanner scanner = new Scanner(System.in); String str = scanner.next(); //若已#结尾则...原创 2019-05-20 14:49:15 · 743 阅读 · 0 评论 -
八皇后问题
八皇后 八皇后问题,是一个古老而著名的问题,是回溯算法的典型案例。该问题是国际西洋棋棋手马克斯·贝瑟尔于1848年提出:在8×8格的国际象棋上摆放八个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上,问有多少种摆法。 高斯认为有76种方案。但是通过计算机计算最终结果是92种方案。 首先来看下面这张图: 我们来分析一下: 首先,从第一行开始,在第一行中首先找个位...原创 2019-05-23 18:23:28 · 171 阅读 · 0 评论 -
KMP算法
KMP算法是用来判断子串是否存在于主串中,KMP算法核心是对子串进行自检,生成next数组,从而和主串进行比较时减少没必要的操作从而提高效率。下面看一个示例,看说明下next数组: /** * KMP算法: * 两个字符串,主串:cfrababaaaba 子串:ababaaaba,判断主串是否包含子串,若包含返回起始下标,否则返回-1 */ public class Km...原创 2019-05-24 10:58:06 · 222 阅读 · 0 评论 -
二叉树的先序建立和先序、中序、后序遍历
代码: import java.util.Scanner; public class BitTree { public static int i =0; public char data; public BitTree lNode; //左子树 public BitTree rNode; //右子树 //先序方式建立二叉树 public ...原创 2019-06-05 17:29:09 · 125 阅读 · 0 评论