摘要: public class NormalMergeSort { int[] arr; public NormalMergeSort(int[] arr){ this.arr = arr; } public void MergeSort(){ MergeSort(0,this.arr.length-1) 阅读全文
posted @ 2020-05-01 13:14 Jimmy-Home 阅读(139) 评论(0) 推荐(0) 编辑
摘要: public class Kmp { String snippet; String searchText; int[] next; public Kmp(String inputString) { this.snippet = inputString; // next = new int[this. 阅读全文
posted @ 2020-05-01 11:42 Jimmy-Home 阅读(270) 评论(0) 推荐(0) 编辑
摘要: 上完Java课,虽然也写了不少的Java代码,但是一直有不少的疑惑,而static关键字一直困惑着我很久,今天无意探究竟,上知乎再仔细查了一下,发现了这个话题的优秀答案https://www.zhihu.com/question/36615154 这篇文章彻底把我之前对static的理解概念土崩瓦解 阅读全文
posted @ 2019-09-30 19:55 Jimmy-Home 阅读(303) 评论(0) 推荐(0) 编辑
摘要: Kruskal算法 阅读全文
posted @ 2019-09-30 12:22 Jimmy-Home 阅读(397) 评论(0) 推荐(0) 编辑
摘要: 我们知道在没有面向对象编程语言的时候,我们都是用面向过程的方式来编写程序的,典型的就有C语言,Fortran等等,面向对象的思想,无疑带来了编程思维的一个新的飞跃,但因为多增加一层抽象,也面临着性能问题,典型的就是内存问题。 面向对象编程,主要围绕着三大特性,封装,继承,多态来实现的,主要的实现方式 阅读全文
posted @ 2019-03-26 11:28 Jimmy-Home 阅读(466) 评论(0) 推荐(0) 编辑
摘要: 在一般的教程里,都谈到子作用域可以访问到父级作用域,进而访问到父级作用域中的变量,具体是如何实现的,就不得不提及到函数堆栈和执行上下文。 举个例子,一个简单的闭包: 首先,我们可以知道,example是一个函数构造器,我们是可以通过new来将他实例化成对象,但其实example实际上是一个对象的引用 阅读全文
posted @ 2019-03-26 10:40 Jimmy-Home 阅读(166) 评论(0) 推荐(0) 编辑
摘要: 传递关系闭包算法 开始,先把关系集合转化为0,1矩阵,使得方便关系运算。 对于一般算法,通过矩阵点乘的来迭代的方式得到传递关系闭包的集合。 代码如下: 其中矩阵点乘的算法复杂度为O(n^3),迭代次数为n-1次(得到R^n为结果),算法复杂度为O(n^4)。 对于此类算法,特点为为了找到某一关系(a 阅读全文
posted @ 2018-09-30 21:24 Jimmy-Home 阅读(5376) 评论(0) 推荐(0) 编辑