0%
SCC算法初解
在算法学习之路上漂泊,遇见了图,而分无向与有向。在本文中主要讲解关于有向图中的求极大连通分量的算法,主要是Kasaraju算法、Tarjan算法以及Gabow算法。
三种算法都是基于深度优先搜索算法(DFS)而实现的,实际上后两种算法是对于Kasaraju算法的改进,减少了一次深度优先搜索(DFS),因此在性能上相比较而言要好一些。
洗牌算法
Maven基础总结
鉴于最近基本看完《Maven实战》这本书,对于我自己的所看的结果作一下总结,理清自己的思路,并复习书中的知识。当然有时间会继续学习一下Gradle,似乎是一个更好的工具。
我原来对于Maven的印象就是依赖管理的工具,但是在认真学习之后,认识到Maven可以实现挺多实用功能。
对于基础排序算法的简要总结
本文主要分析排序算法中的选择排序、插入排序、希尔排序、归并排序、快速排序和堆排序,以及其部分优化方式,部分代码示例。当然快速排序算法是最快的通用排序算法,这使得其在java中的地位非凡,通常的ArrayList.sort()函数就是使用的快速排序。
在这之前,我们先声明两个方法:分别为比较大小与数据交换的方法。
HashMap 源码分析
HashMap是非常常用的键值对类型。本文主要讲述了HashMap的思维以及其重要或者常用的put,get,remove以及resize函数。
首先Java定义了java.util.Map的接口,而常用的实现类型主要有HashMap、ConcurrentHashMap、LinkedHashMap和TreeMap。对于原来常用HashTable在不强调线程安全性时可以用HashMap替代(也就是说HashMap是线程不安全的),而在线程安全的情况下用ConcurrentHashMap替代。