- 博客(10)
- 收藏
- 关注
原创 设计模式之观察者模式
观察者模式(observer pattern)一、定义所谓观察者模式,就是在一个subject对象中封装一个或者多个observer对象。如果subject对象的状态发送改变,同时通知observer对象做出相应的动作二、理论举例只是一个个人根据定义实现的例子1)subjectpublic class Subject { protected List<Observer&g...
2019-06-13 18:16:19 153
原创 多线程之volatile关键字
volatile关键字的特点1)保证变量的可见性也就是保证CPU在执行程序过程中,被volatile修饰的变量不再从高速缓存中找,而是直接从主存中寻找,从而保证每次都是变量最新的数据2)保证有序性JVM为了高效率的执行java程序,在不影响结果一致的情况下会对编译后的执行进行“重排序”。加入volatile关键字之后会保证该变量从创建到修改到使用的过程,JVM不会对其中的执行进行重排序,从...
2019-06-12 17:48:45 134
原创 设计模式之单例模式
单例模式(singleton pattern)顾明思议,单例模式就是在一个类使用过程中保证这个类只有一个实例。下面把实现了单例模式的类简称为“单例类”。一、最简单的单例类如果一个类是单例的,那么这个类的构造方法需要设置为私有privatepublic class SingletonPatternVersion01 { private static SingletonPatternV...
2019-06-11 15:59:13 113
原创 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 97
原创 leetCode之k个一组翻转链表
这个是个“困难”级别的题目,题目描述如下:给出一个链表,每 k 个节点一组进行翻转,并返回翻转后的链表。k 是一个正整数,它的值小于或等于链表的长度。如果节点总数不是 k 的整数倍,那么将最后剩余节点保持原有顺序。示例 :给定这个链表:1->2->3->4->5当 k = 2 时,应当返回: 2->1->4->3->5当 k =...
2019-05-07 15:32:28 111
原创 多线程之理解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 223
原创 数据结构树之红黑树
这里主要解决关于大名鼎鼎的红黑树的下面的问题(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 198
原创 数据结构数之平衡二叉树(AVL)
这里主要解决下面问题(1)什么是平衡二叉树(2)为什么需要平衡二叉树(3)实现平衡二叉树(添加和删除)1、什么是平衡二叉树(1)是二叉树(2)每一个节点的左右子树的高度差小于等于1比如下面的树这个树看似不怎么平衡,但是这个就是平衡二叉树。上面的每个节点左边的数字表示节点的高度(叶子节点高度为1),右边的数字表示节点的平衡因子(左子节点高度-有子节点高度,叶子节点平衡因子为0)2...
2018-12-09 18:42:47 298
原创 数据结构树之霍夫曼树
霍夫曼树1、为什么需要霍夫曼树打个比喻,一篇文章里面每个字母出现的次数不同,有点差距很大。如果在编码的时候把每个字母的编码长度都设为一样,这样当然可行,但是会浪费存储空间。如果存在这样的一种编码,出现次数多的字母编码较少,这样就可以一定长度的节省内存空间。对于这样的编码,我们可以用霍夫曼树来实现A—>00B—>100C—>101D—>01E—>11这...
2018-12-08 22:00:46 561
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人