自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 设计模式之观察者模式

观察者模式(observer pattern)一、定义所谓观察者模式,就是在一个subject对象中封装一个或者多个observer对象。如果subject对象的状态发送改变,同时通知observer对象做出相应的动作二、理论举例只是一个个人根据定义实现的例子1)subjectpublic class Subject { protected List<Observer&g...

2019-06-13 18:16:19 146

原创 多线程之volatile关键字

volatile关键字的特点1)保证变量的可见性也就是保证CPU在执行程序过程中,被volatile修饰的变量不再从高速缓存中找,而是直接从主存中寻找,从而保证每次都是变量最新的数据2)保证有序性JVM为了高效率的执行java程序,在不影响结果一致的情况下会对编译后的执行进行“重排序”。加入volatile关键字之后会保证该变量从创建到修改到使用的过程,JVM不会对其中的执行进行重排序,从...

2019-06-12 17:48:45 124

原创 设计模式之单例模式

单例模式(singleton pattern)顾明思议,单例模式就是在一个类使用过程中保证这个类只有一个实例。下面把实现了单例模式的类简称为“单例类”。一、最简单的单例类如果一个类是单例的,那么这个类的构造方法需要设置为私有privatepublic class SingletonPatternVersion01 { private static SingletonPatternV...

2019-06-11 15:59:13 105

原创 leetCode之合并K个排序链表

这个一道“困难”级别的题目,题目描述如下:合并 k 个排序链表,返回合并后的排序链表。请分析和描述算法的复杂度。示例:输入:[ 1->4->5, 1->3->4, 2->6]输出: 1->1->2->3->4->4->5->6解决思路如下:在知道如何使用分治法合并2个链表之后,这道问题其实也就...

2019-05-08 20:04:56 91

原创 leetCode之k个一组翻转链表

这个是个“困难”级别的题目,题目描述如下:给出一个链表,每 k 个节点一组进行翻转,并返回翻转后的链表。k 是一个正整数,它的值小于或等于链表的长度。如果节点总数不是 k 的整数倍,那么将最后剩余节点保持原有顺序。示例 :给定这个链表:1->2->3->4->5当 k = 2 时,应当返回: 2->1->4->3->5当 k =...

2019-05-07 15:32:28 103

原创 多线程之理解join()

很长一段时间都对join()方法有疑惑,主要有以下2点(为了表述清楚,把现在执行的线程称为main线程,在main中调用join()的线程称为sub线程)(1)join()到底怎么实现main线程阻塞,sub线程执行的(2)sub线程执行玩之后为什么main线程会被唤醒为了解决这个问题,可以从这样一个例子出发public static void main(String[] args){ ...

2019-05-07 05:03:50 217

原创 数据结构树之红黑树

这里主要解决关于大名鼎鼎的红黑树的下面的问题(1)理解什么是红黑树(2)实现红黑树操作(添加和删除)(3)性能测试一、理解什么是红黑树1、理解什么是2-3树2、红黑树和2-3树的等价性1、首先,理解红黑树之前,我们先来解决第一个问题,什么是2-3树?这样的一颗树就是2-3树(1)每个节点可以有1个或者2个元素(2)满足二叉搜索树的性质(3)是一种绝对平衡树2-3树是怎么维...

2018-12-10 15:52:16 189

原创 数据结构数之平衡二叉树(AVL)

这里主要解决下面问题(1)什么是平衡二叉树(2)为什么需要平衡二叉树(3)实现平衡二叉树(添加和删除)1、什么是平衡二叉树(1)是二叉树(2)每一个节点的左右子树的高度差小于等于1比如下面的树这个树看似不怎么平衡,但是这个就是平衡二叉树。上面的每个节点左边的数字表示节点的高度(叶子节点高度为1),右边的数字表示节点的平衡因子(左子节点高度-有子节点高度,叶子节点平衡因子为0)2...

2018-12-09 18:42:47 293

原创 数据结构树之霍夫曼树

霍夫曼树1、为什么需要霍夫曼树打个比喻,一篇文章里面每个字母出现的次数不同,有点差距很大。如果在编码的时候把每个字母的编码长度都设为一样,这样当然可行,但是会浪费存储空间。如果存在这样的一种编码,出现次数多的字母编码较少,这样就可以一定长度的节省内存空间。对于这样的编码,我们可以用霍夫曼树来实现A—&gt;00B—&gt;100C—&gt;101D—&gt;01E—&gt;11这...

2018-12-08 22:00:46 555

原创 数据结构树之二叉树

数据结构树之二叉树

2018-12-07 13:43:15 263

空空如也

空空如也

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

TA关注的人

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