Java
小小火柴人
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
关于动态规划的那些套路
本文采自知乎上 帅地 的文章,原文地址请点击 这边。其文章浅显易懂适合我们学习,大家可以多多支持。接下来我们可以我们的话题:如果你对动态规划感兴趣,或者你看的懂动态规划,但却不知道怎么下手,那么我建议你好好看以下,这篇文章的写法,和之前那篇讲递归的写法,是差不多一样的,将会举大量的例子。为了兼顾初学者,我会从最简单的题讲起,后面会越来越难,最后面还会讲解,该如何优化。因为 80% 的动规都...转载 2020-04-17 11:32:12 · 403 阅读 · 1 评论 -
图的操作
图的存储方式主要有两种:邻接矩阵和邻接表,零阶矩阵主要是用二维数组的方式来存储点与点之间的关系,而邻接表主要是一维数组加链表的方式来记录点与点之间的关系。下面我们从两个不同的方式来编写代码。1、邻接矩阵代码如下:package graph_arr;import java.util.ArrayList;import java.util.Arrays;import java.util.L...原创 2020-03-09 21:00:18 · 272 阅读 · 0 评论 -
平衡二叉树的建立,遍历,删除等操作
平衡二叉树的相关操作结点的相关代码public class Node implements Comparable<Node> { Node left; Node right; int value; public Node() { super(); }// public int height() {// return Math.max(left == nul...原创 2020-03-07 21:34:52 · 326 阅读 · 0 评论 -
利用赫夫曼树来压缩文件
通过赫夫曼树将文件构建赫夫曼编码来压缩文件的样例。结点信息如下public class Node implements Comparable<Node> { Integer weight;//表示权重再赫夫曼编码中用来存储字符出现的次数 Byte data;//用来存放出现的字符 Node left; Node right; public Node() { supe...原创 2020-03-04 17:34:45 · 239 阅读 · 0 评论 -
Fibonacci 查找法
通过斐波拉契数组进行查找代码如下:/** * 设置Fibonacci数组 * * @param len * @return */ public static int[] getFiboArray(int len) { int[] arr = new int[len]; arr[0] = 1; arr[1] = 1; for (int i = 2; i &l...原创 2020-03-03 16:40:43 · 306 阅读 · 0 评论 -
二分查找的两种方式
二分查找(递归)/** * * @param arr 待查找的数组 * @param i 待查找的值 * @param left 数组的左边界 * @param right 数组的有边界 * @return */ public static List<Integer> binarySearch(int[] arr, int i, int left, i...原创 2020-03-03 16:28:52 · 218 阅读 · 0 评论 -
Java实现八大排序
前言八大排序,三大查找是《数据结构》当中非常基础的知识点,在这里为了复习顺带总结了一下常见的八种排序算法。常见的八大排序算法,他们之间关系如下:复杂度对比:1. 冒泡排序冒泡排序有两个版本,一个是原始版本,第二个是性能优化版本代码如下:// 原始版本 // 较大的数据向后排 public static void bubbleSort1(int[] arr) { ...原创 2020-03-03 16:02:39 · 252 阅读 · 0 评论 -
八皇后问题(递归求解)
八皇后问题(回溯法)**题目:**在8×8格的国际象棋上摆放八个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上,问有多少种摆法?代码:public class Queue8 { private int max = 8; // 表示棋盘大小 private static int count = 0; private int[] arr = new int[m...原创 2020-02-24 10:47:59 · 327 阅读 · 0 评论 -
使用递归和回溯法实现迷宫问题
package recursion;/** * 迷宫采用递归做法 * * @author JustGeeker * */public class Maze { public static void main(String[] args) { Maze maze = new Maze(); int[][] arr = maze.getMap(8, 8); maze....原创 2020-02-12 20:49:31 · 334 阅读 · 1 评论 -
单链表实现约瑟夫环
package linkedlist;//约瑟夫环public class JosephuCircle { public static void main(String[] args) { JosephuCircle jsCircle = new JosephuCircle(); jsCircle.createNodeList(10); jsCircle.show(); ...原创 2020-02-11 12:52:45 · 288 阅读 · 0 评论 -
双向链表的相关操作
package linkedlist;public class DoubleLinkedListDemo { public static void main(String[] args) { DNode root = new DNode(1, "南京"); DNode root1 = new DNode(2, "苏州"); DNode root2 = new DNode(3, "...原创 2020-02-10 21:02:27 · 189 阅读 · 0 评论 -
单链表相关操作练习题
这里有五个单链表相关的面试练习题链表结点结构如下代码:class Node { public int num;// 序号 public Node(int num) { super(); this.num = num; } @Override public String toString() { return "Node [num=" + num + "]"; }...原创 2020-02-10 20:59:41 · 312 阅读 · 0 评论 -
Java 单链表相关操作
package linkedlist;class HeroNode { public int no; public String name; public String nickName; public HeroNode next; public HeroNode(int no, String name, String nickName) { super(); this....原创 2020-02-10 20:23:51 · 201 阅读 · 0 评论 -
Java是数组实现环形队列
数组实现环形队列使用数组来实现环形队列,其中包含数据添加,获取队列数据,获取头数据,清空队列数据等,话不多说,上代码。package queue;import java.util.Scanner;public class ArrayQueueDemo { public static void main(String[] args) { Scanner scanner = ne...原创 2020-02-09 18:15:52 · 393 阅读 · 0 评论
分享