自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(106)
  • 资源 (1)
  • 收藏
  • 关注

原创 ConcurrentHashMap(jdk1.8)

##ConcurrentHashMap(jdk1.8) put方法流程概览

2022-05-03 21:53:42 611

原创 spring in action 第一章

spring in action 第一章spring是从何而来?spring是为了解决企业级应用开发的复杂性而创建的,使用spring可以让简单的javaBeans实现以前EJB才能完成的事情。而且spring不仅仅局限于服务器端开发,任何java应用都能在简单性,可测试性和松耦合性等方面从spring中获益。spring可以做很多事情。但归根结底,支撑spring的仅仅是少许的基本理念,所有...

2020-03-27 20:13:01 576

原创 图的存储结构

图的存储结构这里我们只要介绍五种存储结构的理论和特点以及邻接矩阵,邻接表,边集数组的c语言表示,十字链表和邻接多重表是图的遍历可视化系统要用的存储结构在下一节我们将针对这两中数据结构进行详细讲解包括这两种结构对于图的各种操作(用java描述)图的存储结构相对于线性表和树来说相对要复杂得多,我们所说的“顶点的位置”或“邻接点的位置“只是一个相对的概念。从图的逻辑定义结构来看,图上任何一个顶点都可...

2020-01-09 21:01:21 497

原创 图及图遍历可视化系统的实现

图前言马上就要毕业了,我的毕业设计是有关图的遍历系统的可视化,由此我准备对图的知识进行一番总结,待到答辩完之后我将会把我的系统上传至github供大家参考,这里将会提供目录:...

2020-01-05 13:31:48 485 1

原创 图相关定义

图的定义图(graph)是由顶点的的有穷非空集合和顶点之间的边的集合组成,通常表示为:G(V,E),其中,G表示一个图,V是G中顶点的集合,E是G中边的集合关于图的定义我们应该注意的几个地方:1.线性表中我们把数据元素叫做元素,树中将元素叫做结点,在图中数据元素,我们称之为顶点(Vertex)2.线性表中可以没有数据元素,称为空表。树中可以没有结点,叫做空树。但是在图中,不允许没有顶点,在...

2020-01-05 13:29:42 430

原创 钥匙和房间

1. 这是一个很经典的递归问题,首先递归终止条件就是有没有访问过所有房间有返回true,如果房间已经被访问过返回一个值就是所有房间有没有被访问过都访问过返回true否则返回false2.将当前房间的访问位置true3.遍历此房间的钥匙列表,开始递归如果返回true则返回true跳出,否则循环完毕后返回false无法访问全部的房间class Solution { publi...

2019-07-31 12:18:04 351

原创 01矩阵

01矩阵一个充满着坑的dp问题,今天我们用dfs来解决这个问题1.首先遍历数组当1的左上右下四个方向没有0时我们给它初始化一个较大的值数组的行数加列数这样做是为了保证在我们寻路时确保此位通过+1不能遇见02.我们开始遍历这个二维数组当matrix[i][j]==1时开始递归逻辑3.我们定义一个direction数组这个数组定义左上右下四个方向的移动坐标4.在递归函数里开始循环direct...

2019-07-31 11:52:26 1665

原创 字符串解码

字符串解码我们来讲讲思路:一看到括号的匹配问题我们就要想到一个数据结构:栈,那么我们这个题的解决的基本方向就是利用栈先入后出的特点,那么:1.我们先遍历字符串2.如果当前字符为‘]’那么我们开始出栈...

2019-07-31 11:04:34 336

原创 看得见的算法——走迷宫非递归的深度优先遍历走迷宫

上一节链接:https://blog.csdn.net/qq_40163148/article/details/96993725上次我们采用递归的深度优先遍历走迷宫,那么今天我们使用非递归的深度优先遍历来试一下我们的走迷宫1.我们都知道非递归的深度优先遍历我们需要使用一个数据结构叫做栈stack一种先进后出的数据结构2.非递归的深度优先遍历和我们的深度优先遍历的逻辑是一样的:首先我们先让入口...

2019-07-24 11:17:08 534

原创 看得见的算法——走迷宫

本节我们来完成一个很有意思的事情那就是走迷宫关于这个问题一个迷宫我们把其抽象为一个图,那么走迷宫无非就是遍历,我们知道图的遍历无非两种形式广度优先遍历和深度优先遍历以及深度优先遍历的非递归方式,走迷宫我们要采用四联通区域这样一个图形学思想无非就是对一个单元的左上右下四个方向进行搜索,深度和广度优先遍历搜索的顺序不同但最后都会给我们一个解我们迷宫的构造的要素无非就是路(road)和墙(wall),...

2019-07-23 15:38:25 513

原创 看得见的算法——扫雷

看得见的算法——扫雷windwos一直以来都自带一款扫雷游戏那么我们来实现这个游戏(主要在于游戏算法)那么我们该如何实现该算法:1.首先我们需要一个布尔数组来表示这个地方是雷还是其他的什么记为bollean mine[][]2.我们还需要一个二维数组来记录以点击坐标为中心九宫格中的雷的数量记为int[][] number3.最后我们还需要一个布尔数组来记录此位置是被点开和一个布尔数组来标...

2019-07-17 22:51:11 803

原创 看的见的算法——你一定能中奖吗

看的见的算法——你一定能中奖吗这里有一个问题打开一个宝箱中奖的概率为20%问同时打开多少个必定能中奖?我们的直觉告诉我们是5个但大家肯定知道这个是不对的那么我们拿程序看看:package com.lipengge.canyouprize;public class WinThePrizeExperiment {private int win;//统计中奖的次数public WinTh...

2019-07-09 11:31:48 351

原创 看的见的算法——三门问题

看的见的算法——三门问题在美国的电视节目中有一个非常有意思的游戏:有三个门其中一个们后面有奖品,主持人会先让你选择一扇门,而后主持人打开一扇没有奖品的门,然后问你要不要换门,那么问题来了:换门中奖的概率高还是不换门高还是都一样首先我们先使用程序来看看这个问题:package com.lipengge.threegatesproblem;public class ThreeGatesExpe...

2019-07-09 11:19:07 465

原创 看得见的算法——不用可视化求PI

看得见的算法——不用可视化求PIhttps://mp.csdn.net/mdeditor/95038996#这里只有核心类相关类和核心思想在这篇我们不用可视化求1000000个点PI的值package com.lipengge.montecarlo.controller;import java.awt.Point;import com.lipengge.montecarlo.data...

2019-07-07 23:15:47 229

原创 看得见的算法蒙特卡洛问题——使用蒙特卡洛算法求PI值

看得见的算法蒙特卡洛问题——使用蒙特卡洛算法求PI值1.什么是蒙特卡洛问题蒙特卡洛方法(Monte Carlo method),也称统计模拟方法,是二十世纪四十年代中期由于科学技术的发展和电子计算机的发明,而被提出的一种以概率统计理论为指导的一类非常重要的数值计算方法。是指使用随机数(或更常见的伪随机数)来解决很多计算问题的方法。与它对应的是确定性算法。蒙特·卡罗方法在金融工程学,宏观经济学,...

2019-07-07 23:00:35 1979 1

原创 看得见的算法——概率模拟问题之分钱算法

看得见的算法——概率模拟问题之分钱算法有这样一个问题在一个环境中有一群人,每个人都有100块钱,每个人都随机的给另外一个人一块钱,问题是一段时间过后财富的情况是怎样的?这个问题最有意思的地方是在问题的调查中很多人都觉得一段时间后他们的财富值都在100上下波动,事实真的是这样吗我们使用看的见的算法模拟一下:首先我们要进行视图层的渲染我们先贴上视图层完整代码然后为大家讲解这个问题的渲染pac...

2019-07-01 11:32:05 578

原创 看得见的算法——验证通过简单的动画验证GUI框架

看得见的算法——验证通过简单的动画验证GUI框架本次我们验证我们的GUI框架首先我们这里引入java事件机制1.keyAdapter2.mouseAdapter视图层package com.lipengge.algorithmic.view;import java.awt.Color;import java.awt.Dimension;import java.awt.Grap...

2019-06-25 22:34:52 313

原创 看的见的算法—GUI框架搭建

看的见的算法—GUI框架搭建一直以来学算法解决实际问题都是一件枯燥的事情因为我们只能面对枯燥的控制台输出语句那大家有没有想过用GUI的形式演示我们的算法不仅效果明显而且十分有趣为了表示对此课程看得见的算法的大佬的尊重本系列将全部以转载发表搭建GUI框架注意:1.我们可以使用Android,IOS或者css的canvas都可以绘制我们的效果不过为了统一和简单也基于本人接触过java的swing...

2019-06-25 21:04:16 644

原创 MyBatis学习笔记——14MyBatis查询缓存(一级缓存,二级缓存)

MyBatis学习笔记——14MyBatis查询缓存(一级缓存,二级缓存)完整学习路线:https://blog.csdn.net/qq_40163148/article/details/89668242为什么需要缓存?为了减轻数据库压力,提高数据库性能一级缓存和二级缓存的作用范围1.一级缓存(默认开启)在操作数据库时需要构建sqlSession对象,在对象中有一个数据结构(hash...

2019-05-22 22:00:01 294

原创 MyBatis学习笔记——13MyBatis延迟加载

MyBatis学习笔记——13MyBatis延迟加载完整学习路径:https://blog.csdn.net/qq_40163148/article/details/896682421.什么是延迟加载?延迟加载是mybatis提供的一种优化查询性能的方法,比如上一节我们讲到的一对一查询订单的所属用户当我们需要用户信息时即我们getUser里面的属性的时候第二条sql语句才会发送出去不然只发送...

2019-05-21 20:36:29 190

原创 MyBatis学习笔记——12MyBatis高级映射(结果集)(一对一,一对多,多对多)查询

MyBatis高级映射(结果集)(一对一,一对多,多对多)查询完整学习路线:https://blog.csdn.net/qq_40163148/article/details/89668242本次我们为了方便更换为maven项目(使用mybatis mapper代理方法实现)基本项目结构是相通的就是maven会为我们自动导入需要使用的包配置文件如下(前提要下载maven配置maven的环境...

2019-05-20 11:11:31 472

原创 MyBatis学习笔记——11订单商品数据模型分析

MyBatis学习笔记——11订单商品数据模型分析完整学习路线:https://blog.csdn.net/qq_40163148/article/details/89668242今天我们来分析分析我们的订单商品数据模型1.表结构userdb(用户表)orderdb(订单表)orderdetial(订单明细表)commodity(商品表)2.分析关系以及外键(我们从用户出发...

2019-05-16 17:17:06 638

原创 MyBatis学习笔记——10MyBatis的动态sql

MyBatis学习笔记——10MyBatis的动态sql完整学习路线:https://blog.csdn.net/qq_40163148/article/details/896682421.动态sql(if是最常用的还有其他的参照pdf文档)mybatis核心 对sql语句进还有行灵活操作,通过表达式进行判断,对sql进行灵活拼接,组装需求:用户信息综合查询列表和用户信息查询列表总数这两...

2019-05-10 20:02:08 169

原创 二叉搜索树———二叉搜索树的删除操作

二叉搜索树———二叉搜索树的删除操作我们把二叉搜索树的删除分为三种情况第一种:没有孩子节点直接删除如图删除 7,4,2直接删除接可以第二种:只有一个孩子节点把孩子节点拉上去即可如图:删除6把7拉上去第三种:两个节点都不为空这个时候我们需要找到其右子树的最小节点返回并且要删除最小节点并且把其右子树返回给它如图:删除3 4没有左孩子直接返回4 所以最后的结果只是4覆盖3在代码里我们将...

2019-05-10 08:27:44 943

原创 二叉搜索树————插入节点

二叉搜索树————插入节点插入节点那么我们该如何插入呢思路:递归深度当我们要插入的节点值小于根节点时我们让它向根的左子树移动反之向右子树移动如果相等我们更新相应节点的值或者不管都可以比如图一:插入5节点5大于四小于7所以5去7的左子树上代码:class Solution { public TreeNode insertIntoBST(TreeNode root, int v...

2019-05-10 08:04:34 247

原创 MyBatis学习笔记——09MyBatis的输出核心(掌握)

输出映射完整学习路线:https://blog.csdn.net/qq_40163148/article/details/896682421.resultType使用resultType进行输出映射,只有列名和pojo中定义的一致,该列才能映射成功(也就是说使用sql语句列的别名会映射失败)如果列名和pojo中的属性名全都不一致,则不会创建pojo对象只要列名和pojo中的属性名有一个一...

2019-05-08 21:42:55 157

原创 MyBatis学习笔记——08MyBatis的输入核心(掌握)

MyBatis学习笔记——MyBatis的输入核心(掌握)完整学习路线:https://blog.csdn.net/qq_40163148/article/details/89668242输入映射注意这里我们按照mybatis开发规范使用的是mapper动态代理的方法需求:完成用户信息的综合查询,需要传入查询条件很复杂(可能包括用户信息,其他信息,比如商品,订单的)这种方式很重要也很常用...

2019-05-08 21:16:05 183

原创 二叉搜索树迭代器

二叉搜索树迭代器什么是二叉搜索树迭代器调用 next() 将返回二叉搜索树中的下一个最小的数。如图:这里我们next和hasNext()的操作的时间复杂度为O(1)我解决这个问题的思路:1.我们首先让所有的左孩子全部入栈如图:7,32.然后我们在next方法里开始弹栈如果该节点有右子树那么我们假设temp=node.right然后让temp和temp的左子树全部入栈最后返回...

2019-05-08 10:47:13 178

原创 MyBatis学习笔记——07MyBatis的配置文件SqlMapConfig.xml

MyBatis的配置文件SqlMapConfig.xml完整学习路线:https://blog.csdn.net/qq_40163148/article/details/896682421.SqlMapConfig.xml包含哪些配置mybatis全局配置文件SqlMapConfig.xml配置内容如下:1.properties(属性)1.properties 属性需求:将数据库连接参...

2019-05-06 17:00:03 289

原创 二叉搜索树开始部分——验证二叉搜索树(附带介绍)

二叉搜索树开始部分——验证二叉搜索树(附带介绍)1.什么是二叉搜索树1.二叉搜索树是一种二叉树的特殊形式2.二叉搜索树根据插入节点值的大小决定节点向右子树移动还是向左子树移动每个节点中的值必须大于(或等于)存储在其左侧子树中的任何值。每个节点中的值必须小于(或等于)存储在其右子树中的任何值。3.二叉搜索树节点的值一定是可比的4.二叉搜索树中不存在重复值(可以用它来实现map和set)...

2019-05-05 18:33:21 101

原创 MyBatis学习笔记——06MyBatis mapper接口(相当于dao接口)代理开发方法

MyBatis学习笔记——06MyBatis mapper接口(相当于dao接口)代理开发方法完整学习路线:https://blog.csdn.net/qq_40163148/article/details/89668242为什么要使用mapper接口方法代理?因为原始的dao的开发方法存在着一些问题:1.上一节讲到的实现类里存在着许多模板代码如sqlsession的创建等使用代理方法可以...

2019-05-04 19:09:16 492

原创 MyBatis学习笔记——05MyBatis开发原始dao

MyBatis学习笔记——05MyBatis开发原始dao今天我们讲mybatis开发原始的持久层(dao)原始的dao由两部分组成接口和实现类项目架构同样是我们上一节讲到的入门程序的架构我们在com.lipengge.mybatis.dao里实现了dao的接口和实现类映射文件使用的是User.xml(入门程序的映射文件)UserDao接口package com.lipengge.m...

2019-05-04 18:36:11 652 1

原创 MyBatis学习笔记——04MyBatis入门程序

MyBatis学习笔记——04MyBatis入门程序要想学好mybatis必须掌握好其入门程序掌握好它的增,删,改,查代码里注释解释巨细无比不懂请留言1.首先我们来了解一下mybatis的入门程序的架构1.两个jar包mybaits核心包mysql驱动包2.config目录**sqlmap:用来保存mapper文件 如User.xml(userdb映射文件)<?xm...

2019-05-01 21:11:53 240

原创 链表结束——单链表的插入和删除

链表结束——单链表的插入和删除链表的插入:1.我们把链表的插入分为三种情况头插,尾插和中间插2.我们定义两个指针head和rear3.刚开始当链表的size=0时我们head=rear指向一个无意义的节点作为表头4.插入时我们按照索引进行插入:分为三种情况:1.当index=0时我们进行头插头插时我们的逻辑很简单我们让要插入的节点node.next=head.next,head.n...

2019-04-30 15:49:36 320

原创 MyBatis学习笔记——03mybatis框架原理

MyBatis学习笔记——03mybatis框架原理1.首先mybatis是什么?mybatis是一个持久层的框架是apache下的顶级项目。开始mybatis托管到googlecode下,再后来托管到github下由于github下载巨慢本人提供mybatis3.2.7版本下载:链接:https://pan.baidu.com/s/1f0D574kdyTWAIKNTf9Yl4Q 提取码:y...

2019-04-29 10:54:24 252

原创 MyBatis学习笔记——02对原生态jdbc程序(单独使用jdbc开发)问题总结

对原生态jdbc程序(单独使用jdbc开发)问题总结1.数据库连接,使用时创建,不使用立即释放,对数据库进行频繁的连接和开启,造成数据库的性能浪费,影响数据库性能设想解决方法:使用数据库连接池管理数据库连接2.将sql语句硬编码到java代码中,如果sql语句修改,需要重新编译java代码,不利于系统维护设想解决方法:将sql放在xml文件中即使sql语句变化,不需要重新编译3.向pre...

2019-04-29 09:44:26 196

原创 MyBatis学习笔记——01MyBatis学习大纲

MyBatis学习笔记——01MyBatis学习大纲这两天正在学习mybatis记录记录自己的学习心得学习安排: mybatis和springmvc通过订单商品 案例驱动第一部分:基础知识(重点)1.对原生态jdbc程序(单独使用jdbc开发)问题总结2.mybatis框架原理3.mybatis入门程序用户的增,删,改,查4.mybatis开发dao(持久层)的两种方法原始dao...

2019-04-29 09:21:39 568

原创 回文链表

回文链表今天给大家讲一下判断回文链表如图:思路:1.我们先求链表的中点使用双指针一个为fast=head.next一个为slow=head,fast=fast.next.next,slow=slow.next当fast走到尾时slow走到中点2.找到中点后我们反转链表的后半部分反转(中点.next)3.我们将返回值给中点的next4.我们让p1=中点,p2=中点.next迭代当p1...

2019-04-28 16:58:25 95

原创 奇偶链表

奇偶链表今天给大家讲一下奇偶链表所谓奇偶链表就是把链表的奇数节点与偶数节点分开并把奇数节点排在偶数节点之前形成新的链表如图:我的思路:1.首先我们要来两个指针ji=head和ou=head.next并且ou1=ou2.我们当ou!=null&&ou.next!=null时让ji.next=ji.next.next,ou.next=ou.next.next3.移动ji和...

2019-04-28 16:07:21 171

原创 移除链表元素(删除所有val的节点)

移除链表元素(删除所有val的节点)如图我们要删除值为val的所有元素我的思路:1.出于空间复杂度的考虑我们这只实例化一个节点node用来当作删除后链表的头节点2.我们用node1=node记录头节点3.当head!=null时我们判断head.val==vall如果是true 则使node.next=head.next4.否则(else)我们使node.next=head,node...

2019-04-25 19:06:24 629

BabelLanguagePack-eclipse-zh_4.7.0.v20170819060001

汉化包,,,,,,,,,,,,,,,,,,,,,,,,

2017-10-10

空空如也

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

TA关注的人

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