自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 资源 (3)
  • 收藏
  • 关注

原创 归并排序,scala实现

import scala.util.Random/** * Created by fhqplzj on 16-9-29 at 下午8:09. */object MergeSortInScala { var aux: Array[Int] = _ /** * 归并算子 * 归并排序的核心部分 * * @param nums * @par

2016-09-29 20:28:25 412

原创 merge排序

merge排序关键在于merge函数import leet.ArrayUtils;import java.util.Arrays;/** * Created by fhqplzj on 16-9-29 at 下午6:58. */public class AnotherMergeSort { private int[] aux; public void merge

2016-09-29 20:02:04 725

原创 堆积排序,scala实现

堆积排序的灵魂在于adjust函数,就和快速排序的灵魂在于partition函数。import leet.ArrayUtils/** * Created by fhqplzj on 16-9-29 at 上午9:59. */object HeapSort { def adjust(nums: Array[Int], p: Int, r: Int): Unit = {

2016-09-29 10:42:12 481

原创 快速排序的随机化版本

每次随机选择一个主元,与最后元素交换import leet.ArrayUtilsimport scala.util.Random/** * Created by fhqplzj on 16-9-28 at 下午10:24. */object QuickSort { def exchange(nums: Array[Int], i: Int, j: Int): Unit =

2016-09-28 22:41:27 345

原创 算法导论上的快速排序

快速排序最核心的部分是partitiion函数,算法导论选取最后一个元素为主元,很有创意。import leet.ArrayUtils/** * Created by fhqplzj on 16-9-28 at 下午10:24. */object QuickSort { def exchange(nums: Array[Int], i: Int, j: Int): Unit

2016-09-28 22:34:29 280

原创 约瑟夫环问题

设有n个人,从0..n-1,从0号开始,每k个杀死,第一次杀死k-1号,问最后死的是谁。设f(n,k)表示最后死的那个人,则f(1,k)=0,只有一个人时,最后死的是0号,又有f(n,k)=(f(n-1,k)+k)%n,杀死一个人后,重新排序,一一对应,注意n是可变的。递归版本: private static int recursiveJoseph(int n, int k) {

2016-09-28 09:17:11 289

原创 线程与进程的区别

线程与进程的比较线程具有许多传统进程所具有的特征,故又称为轻型进程或进程元;而把传统的进程称为重型进程,它相当于只有一个线程的任务。在引入了线程的操作系统中,通常一个进程都有若干个线程,至少需要有一个线程。下面,我们从调度、并发性、系统开销、拥有资源等方面,来比较线程与进程。1、调度在传统的操作系统中,拥有资源的基本单位和独立调度、分配的基本单位都是进程。在引入线程的操作系统中,则把线

2016-09-27 12:25:13 317

原创 avro

/** * T一般是GenericRecord * * @param schema * @param file * @param records * @param */ private static void serialize(Schema schema, File file, List records) {

2016-09-23 23:54:19 273

原创 Avro 序列化

分为specific和generic,先来specific版本的: private static void serialize(Schema schema, File file, List records) { SpecificDatumWriter specificDatumWriter = new SpecificDatumWriter<>(); D

2016-09-23 23:47:15 383

原创 ROcketmq consumer

import com.alibaba.rocketmq.client.consumer.DefaultMQPushConsumer;import com.alibaba.rocketmq.client.consumer.listener.ConsumeConcurrentlyContext;import com.alibaba.rocketmq.client.consumer.listener

2016-09-22 14:27:54 429

原创 rocketmq Producer

import com.alibaba.rocketmq.client.exception.MQBrokerException;import com.alibaba.rocketmq.client.exception.MQClientException;import com.alibaba.rocketmq.client.producer.DefaultMQProducer;import co

2016-09-22 14:18:37 613

原创 稳定排序

插入排序、冒泡排序、归并排序、基数排序、计数排序

2016-09-22 12:17:18 238

原创 java初始化顺序

/*父类静态变量父类静态代码块子类静态变量子类静态代码块父类非静态变量父类非静态代码块父类构造函数子类非静态变量子类非静态代码块子类构造函数 */class Base { static { System.out.println("父类静态代码块"); } { System.out.println("父类非静态代码块"

2016-09-22 11:51:48 291

原创 HashBIMap双向Map

Goova里实现了双向map,举个例子:package oj2;import com.google.common.collect.HashBiMap;/** * Created by fhqplzj on 16-9-16 at 下午11:44. */public class ex3 { public static void main(String[] args) {

2016-09-16 23:54:23 3378

原创 前缀树,Trie树

class TrieNode { public boolean isWord; public TrieNode[] next; public TrieNode() { isWord = false; next = new TrieNode[26]; }}public class Trie { private TrieN

2016-09-16 00:33:44 314

原创 同时找到最大值和最小值

算法复杂大O(3/2n)

2016-09-15 11:26:52 760

原创 Sliding Window Maximum

public int[] maxSlidingWindow(int[] nums, int k) { int n = nums.length; if (n == 0) { return nums; } int[] result = new int[n - k + 1]; int idx = 0;

2016-09-15 10:20:21 279

原创 ubuntu下设置python默认版本

sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.4 3

2016-09-06 12:43:31 824

算法技术与信息学竞赛

内功心法,主要内容是算法技术与信息学竞赛的学习指导!

2011-07-04

线性规划与网络流(ACM培训资料)

线性规划与网络流,ACM内部培训资料!!!!!!!

2011-07-04

JAVA类的反射机制

内附源码和相关的PPT,有兴趣的人可以看一看啊!

2011-07-04

空空如也

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

TA关注的人

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