自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

原创 Ioc的简单实现(bean、依赖注入控制等)

只是对IOC的简单原理进行了实现,略显简陋;import org.dom4j.Document;import org.dom4j.Element;import org.dom4j.io.SAXReader;import org.dom4j.io.SAXWriter;import org.xml.sax.SAXException;import java.beans.PropertyDescriptor;import java.io.InputStream;import java.lang.r

2022-01-22 20:28:21 330

原创 并查集,最小生成树-K\P算法实现

最小生成树:即在可走遍所有树节点的情况下,边权重之最小的求和;K算法实现:-并查集实现(K算法中运用到的结构)//并查集public class UnionFind { /* 作用:用来满足二种结构---本身也是一种数据结构 ①isSameSet结构,这个结构是用来查找两个元素是否属于一个集合 ②union结构,就是把两个集合合并成一个大集合 */ /* 实现逻辑: 每个集合的每个元素都有一个node,包含-元素的value值和它的上级指针

2021-12-27 19:42:08 318

原创 常用图结构实现

图结构

2021-12-23 12:28:26 1522

原创 红黑树的简要描述和详细实现

红黑树、旋转、后驱节点

2021-12-21 16:33:17 277

原创 Java:Bfprt算法:逻辑流程及代码实现

//Bfprt算法//bfprt算法是用来求数组中第k小的元素的算法,bfprt算法可以在O(n)时间(最坏情况O(n^2))内求出答案。//bfprt解法和常规方法唯一不同的就是在po(随机数)的选取上,其他地方一模一样。public static void main(String[] args) { int[] arr = {4,8,5,7,4,9,5,2,5,4,1,3,6,8,2,9}; int k=6; System.out.println(bfpet2(arr,k));...

2021-04-15 17:42:20 233

原创 Java:Morris算法:实现代码及阐述-打印二叉树-最大二叉搜索树

//Morris算法 :其实就是把空间复杂度优化到O(1)的二叉树遍历算法。/* 当前节点:cur, 出发点:cur=head(头节点出发) 1.当cur无左树,cur = cur.right (来到右子节点) 2.当cur有左树,找左树最右节点mostright 1).若mostright的右指针指向null,mostright.right = cur(让左树最右节点mostright的右指针指向当前节点),cur=cur.left (当前节点来到左节点) 2).若mostright

2021-04-15 17:37:32 160

原创 JAVA:哈希图-具体流程、详细阐述

public static void main(String[] args) { //创建Hashmap集合,输入二个类型数据,命名为hm //new Hashmap<>();new一个新的Hashmap,由于前面有输入数据类型,所以可不写(jdk1.8之后) HashMap<Integer,String> hm = new HashMap<>(); //输入二个类型:key.value , //输出的是地址域 System.out.println(hm.

2021-04-10 20:53:53 528

原创 java:实现堆结构和堆排序

//堆结构:大根堆------堆排序//PriorityQueue<Integer> heap = new PriorityQueue<>(); //系统默认的优先级队列(即系统默认堆-小根堆)//heap.add(5); heap.add(7); //添加5.7元素//while(!heap.isEmpty){ System.out.print( HEAP.POLL() ); } //打印出所有数public static class MyMaxH

2021-04-10 20:49:48 64

原创 JAVA:二叉树的基本算法-递归序(包括先序等、层次、序列化堆)

import java.util.HashMap;import java.util.LinkedList;import java.util.Queue;import java.util.Stack;//二叉树的基本算法-递归序public class Binary {//类中类,定义数据类型public static class Node{ public int value; public Node left; public Node right; //构造器,将调用输入作为value

2021-04-10 20:47:33 124

原创 JAVA:尝试模型2:范围模型-纸牌总分问题(暴力递归-到-动态规划)

//尝试模型2:范围模型 //纸牌分数/* 提要:给定一个整形数组arr,代表数值不同的纸牌, 条件:玩家A、B每次依次拿走一张(A先拿),每次只能从最左、最右拿一张 要求:假设A、B都很聪明理智,返回最后获胜者的分数 */ //第一种方法//比较A、B的最大值public static int card1(int[] arr) { if(arr.length==0) { //数组无元素,直接退出0 return...

2021-04-10 20:43:13 396

原创 JAVA:尝试模型1:从左到右-字符串、数字的转换(暴力递归-到-动态规划)

//尝试模式1:从左到右public class Conversion { //字符串-数字的转换/*要求:规定1-A,2-B…,比如111-转换-AAA、AK、KA;条件:只给一个只有数字组成的字符串Str,返回有多少种转换结果*/public static void main(String[] args) {}public static int version(String str) { if(str==null ||str.length()==0) { //...

2021-04-10 20:41:32 235

原创 JAVA:汉诺塔圆盘移动-包括逻辑细节

public class Hanoi { //暴力递归—汉诺塔圆盘移动//暴力递归 与 动态规划 的差异:记录每个值就是动态规划,//动态规划 就是某一类 尝试行为 的进一步优化,任意一个动态规划问题都是暴力尝试过程的优化后的样子/* * 汉诺塔(又称河内塔)问题是源于印度一个古老传说的益智玩具。 * 大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘。 * 大梵天命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱子上。并且规定,在小圆

2021-04-10 20:39:36 572

原创 JAVA:N皇后问题-普通方法和最好的位运算方法

public class NQueen { //N皇后:/*N皇后问题:给定一个正整数N>3(N=2、3摆不了),在N*N的棋盘上摆N个皇后,返回有多少种摆法要求:任意二个皇后不能同行、同列、同斜线*/public static void main(String[] args) { int n=14; long start1 = System.currentTimeMillis(); //System.currentTimeMillis() 在java中是最常用的获取系统

2021-04-10 20:37:08 291 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除