合并排序 - Java实现
package lhz.algorithm.chapter.six; /** * "优先级队列",《算法导论》6.5章节 * 原文摘要: * A priority queue is a data structure for maintaining a set S of elements, each with an * associated value called a key. A ...
package lhz.algorithm.chapter.six; /** * "优先级队列",《算法导论》6.5章节 * 原文摘要: * A priority queue is a data structure for maintaining a set S of elements, each with an * associated value called a key. A ...
CloudStack是思杰(Citrix)旗下的一款开源的虚拟化环境管理软件。核心代码用Java开发。CloudStack的目标是成为一个可以部署并管理大量的虚拟机网络资源,具有高可用和扩展性的云计算管理平台。目前已经支持许多主流的虚拟化平台,如:VMware、Oracle VM、KVM、XenServer、Xen。CloudStack不仅提供了UI支持,也提供了命令行的操作方式,和可用于开...
作为一个Java开发人员,开发中总会依赖很多的项目(jar包),一般来说这些项目大部分都是开源的,但是开源不等于随意使用甚至商用。开源软件都有着自己的许可证,不同的许可证自然约束也是不同的。稍不留神,可能会自讨苦吃。 先引用百度百科的开源软件的定义: 开源软件定义Version 1.9 开源不仅仅表示开放程序源代码。从发行角度定义的开源软件必须符合如下条件: 1. 自由再发...
package lhz.algorithm.chapter.six; /** * "排序",《算法导论》6.4章节 * 利用之前实现的构建MaxHeap和MaxHeapify算法完成排序。 * 伪代码: * HEAPSORT(A) * 1 BUILD-MAX-HEAP(A) * 2 for i <- length[A] downto 2 * 3 do exchange A...
/** * "选择排序",《算法导论》习题2.2-2 * Consider sorting n numbers stored in array A by first * finding the smallest element of A and exchanging it with the element in A[1]. * Then find the second smalle...
/** * "插入排序 ",对少量元素进行排序的有效算法。 * 《算法导论》原文摘要: * Insertion sort works the way many people sort a hand * of playing cards. We start with an empty left hand and the cards face down on * the table...
/** * 《算法导论》习题6.5-8: Give an θ(nlgk)-time algorithm to merge k sorted lists into * one sorted list, where n is the total number of elements in all the input * lists. (Hint: Use a min-heap for k-...
/** * 快速排序,《算法导论》第七章 * @author lihzh(OneCoder) * @OneCoder-Blog http://www.coderli.com */ public class QuickSort { //待排数组 private static int[] input = new int[] { 2, 1, 5, 4, 9, 8, 6, 7, 10...
最近看到slf4j+logback的日志方案,并且介绍说,与log4j出自同一作者且做了不少优化,所以决定从commons-logging+log4j切换过来。 logback官网:(该作者即为log4j的作者)http://logback.qos.ch/ 切换方式非常简单,在原有基础上加入如下jar包即可。 slf4j-api-1.6.2.jar jcl-over-...
最近在学习Spring源码的过程中,遇到了spring-asm工程的重新打包的问题,于是突然就想研究一下asm这个开源字节码操作工具。秉承我的一贯风格,想到啥就立马学啥。 对于开源产品,我的一贯风格就是通过其官方提供的源码版本管理地址(svn/git等),直接下载最新代码,构建Java工程,直接通过工程依赖的方式研究学习。(你说这样跟依赖jar包并且绑定源码比有啥好处? 一般情况下差不多,最...