![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
M FS
才疏学浅,万望保函,如有错误,评论区指出,不胜感激
展开
-
[Java] 平衡二叉树AVL
package com.mfs.rmclient;import java.util.Scanner;import java.util.Stack;public class Main { public static void main(String[] args) { Main main = new Main(); TreeNode avl = main.createAVL(6); System.out.println(avl); }原创 2020-10-26 22:43:13 · 90 阅读 · 0 评论 -
[Java]排序会这些就够了
排序是在开发过程中经常要面临的操作,很多复杂的问题往往能够通过将序列排序而变得更加简单。一个好的排序算法往往能节省大量的时间和空间资源。由于待排序的记录数量不同,时的排序过程中使用到的存储器不同 ,可将排序方法分为两大类:内部排序,指的是待排序记录全部存放在计算机随机存储器中的排序过程;外部排序,指待排序记录数量非常大,一次不能全部放到内存中,需要对访问外存中的记录进行访问的排序过程。内部排序...原创 2020-03-21 15:06:30 · 2054 阅读 · 9 评论 -
[Java]八皇后问题
package tree;import java.util.LinkedList;public class Four { static int n = 8; static LinkedList<Location> res = new LinkedList<>(); public static void four (int i) { ...原创 2020-03-05 14:40:33 · 206 阅读 · 0 评论 -
[Java]已知树的前序序列和中序序列创建二叉树
package tree;import java.util.LinkedList;public class Four { static int n = 8; static LinkedList<Location> res = new LinkedList<>(); public static void four (int i) { ...原创 2020-03-05 11:05:42 · 262 阅读 · 0 评论 -
[Java]求幂集
package tree;import java.util.ArrayList;import java.util.LinkedList;import java.util.List;public class Mi { public static List<Integer> a = new ArrayList<>(); public static L...原创 2020-03-04 16:30:05 · 422 阅读 · 0 评论 -
[Java]广义表
package glist;import java.util.List;import java.util.Scanner;public class GList { static Scanner sc = new Scanner(System.in); public static ListNote createGList() { Note head = n...原创 2020-03-03 21:49:52 · 243 阅读 · 0 评论 -
[Java]赫夫曼编码
对某一字符串的最短二进制编码称为赫夫曼编码。package tree;import java.util.Stack;public class HuffmanTree { public static int[] min (Note[] note,int n) { //选出所有树中权值最小的两个 int min1 = Integer.MAX_VALUE - 1...原创 2020-02-28 17:22:52 · 149 阅读 · 0 评论 -
[Java]赫夫曼树
赫夫曼树又称最优二叉树:每个叶子节点带权值为wi,则树的带权路径长度最小的二叉树称为最优二叉树。package tree;public class HuffmanTree { public static int[] min (Note[] note,int n) { int min1 = Integer.MAX_VALUE - 1; int j =...原创 2020-02-28 13:39:42 · 106 阅读 · 0 评论 -
线索二叉树——Java
package tree;import java.util.LinkedList;import java.util.Queue;import java.util.Scanner;import java.util.Stack;public class Tree { /* * 线索化二叉树,中序 * */ public static Note tread...原创 2020-02-18 15:41:25 · 148 阅读 · 0 评论 -
二叉树的创建和遍历——Java
package tree;import java.util.LinkedList;import java.util.Queue;import java.util.Scanner;import java.util.Stack;public class Tree { /* * 创建树,前序 * */ public static Note createTr...原创 2020-02-17 23:29:07 · 149 阅读 · 0 评论 -
字符串模式匹配——KMP算法——Java
package string;import java.util.Scanner;public class Kmp { /* * 求next数组 * */ private static int[] getNext(String s) { int []next = new int[s.length()]; int i = 0;...原创 2020-02-13 19:11:06 · 153 阅读 · 0 评论 -
字符串模式匹配——回溯法——Java
设字串长度为m1、用子串的第一个字符依次与主串的字符作比较2、如果相同,则用子串的下面的字符与主串中当前比较字符接下来的m-1个字符依次比较,直到比较结果不同或者子串后的所有字符比较完毕2-a、如果子串中的所有字符比较完毕,那么说明匹配成功,子串在主串中的位置就是:当前主串的指针 - m + 12-b、如果比较过程中出现字符不匹配,则使主串的指针回溯到主串中与子串第一个字符比较的字符的下一...原创 2020-02-12 21:57:58 · 718 阅读 · 0 评论 -
迷宫路径求解
主要思路如下:1、入口区域入栈2、判断栈顶区域是不是出口3、如果是则输出栈内全部元素,这就是一个从入口到出口的逆序路线4、如果不是则探索栈顶区域的四个方向5、如果这四个方向均不能走(相邻的区域是墙、探索过不能同行、)已经在路径中,则把这块区域从路经栈中删除,然后执行步骤26、如果这块区域的相邻区域存在可通行的区域,则将第一个可通行的区域入栈,然后执行步骤2ps:这时练习栈的知识点所作...原创 2020-02-12 19:33:15 · 528 阅读 · 0 评论 -
表达式求解——Java
package stact;import java.util.Scanner;public class EvaluateException { /* * 运算符 * 比较两个运算符的优先级 * */ private static String compare(String first, String second) { if (fi...原创 2020-02-11 23:09:18 · 188 阅读 · 0 评论 -
汉诺塔问题——java
package stact;import java.util.Scanner;public class Hanoi { private static int step; /* * n表示圆盘的个数 * x、y、z表示三个基座 * */ private static void move(int n, String x, String y,St...原创 2020-02-11 13:42:14 · 125 阅读 · 0 评论 -
十进制数到8进制数的转换——java
import java.util.Scanner;public class Main { private static int []notes = new int[10000]; /* * 删除栈顶元素并返回 * */ private static int pop (Stact stact) { return notes[-- stac...原创 2020-02-10 18:01:24 · 626 阅读 · 0 评论 -
多项式加法——java静态链表
多项式的加法import java.util.Scanner;public class PoLynomial { private static Note []notes = new Note[10000]; /* * 打印链表 * */ private static void show(int head) { int i = note...原创 2020-02-09 22:47:08 · 165 阅读 · 0 评论 -
java实现静态链表
很多高级语言不具备指针的概念,这时在实现链表的功能时就可以使用静态链表来完成。静态链表就是一个使用数组来描述链表的方法,使用数组的下标作为游标来代替指针的概念。每一个节点除了储存数据外还必须有一个字段用来储存下一个节点的下表。这样同样能够实现链表方便插入和删除的特点。下面是使用java来实现静态链表的代码示例import java.util.Scanner;public class St...原创 2020-02-09 19:58:33 · 362 阅读 · 0 评论