自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

在路上 的专栏

坚定拥有自信, 努力保持乐观

  • 博客(23)
  • 收藏
  • 关注

原创 基于mapreducer的图算法

作者就职阿里巴巴集团1688技术部MapReduce框架非常适合处理大规模的流数据,而图算法的实现一直是MapReduce的难点。已发表这方面的文章也不是特别多。根据“Graph Twiddling in a MapReduce world”,本文详细介绍了 四个图算法的实现,分别是图节点度计算,三元环检测,四元环检测,k-桁结构(k-trusses)检测。

2014-08-18 23:10:29 2359

转载 CentOS 安装hadoop

准备:CentOS6.4, Hadoop1.2.1, Java. 三台电脑Master, Slave01, Slave02.关闭防火墙 su (root)sudo service iptables stop #关闭iptablessudo chkconfig iptables off # 永久关闭iptables配置Hostnamevim /etc/hosts#127.

2013-09-15 15:56:55 880

原创 C++ 传值,传引用和传指针-参考Effective C++ 第三版Item20~21

拷贝构造函数 copy construtor 为什么有copy construtor?函数的传参数有三种方式:传值,传引用和传指针。传值会产生对象的副本,而后两者是传的是对象的别名和对象的指针。问题来了: 如果传值方式一个比较大的对象时候,在产生对象副本的时候一般会触发对象的构造函数。一般情况下构造函数会完成一些初始化工作,但是很有可能传进来的对象已经被改变了,如果调用构造函数

2013-09-12 15:24:40 1330

原创 HMM Tutorial 隐马尔科夫模型

Introduction of HMM Evaluation, decoding and estimationBasic extensions of HMMs Continuous observation densities of HMM, state duration density HMMMore complex HMMs Segment HMM, hierarchical HMMIncremental (online) learning of HMMsTool

2013-08-25 20:34:05 1114

原创 文档的Jaccard相似度, MinHash, 及MinHash签名

MinHash  算法由 Andrei Broder (1997) 提出的, 它是一种快速计算海量文档相似度的近似方法。开始被用在AltaVista 搜索引擎上,用于检测两个duplicate web pages, 如果两个web pages非常的像,则把这个page丢掉。Minhash也被用在lage-scale clustering 算法中。本文的结构1. 文本的Jaccard相似度;

2013-07-21 18:06:00 5589

原创 快速排序 及应用

快速排序因其排序效率高, 成为 二十世纪最伟大的10大算法之一。 本文根据Introduction of algorithm (IOA)和 数据结构 李春葆版,研究快速排序算法。快速排序算法最重要在Partition 过程,即讲数组A[p, ..., r]排序,使得 A[p, ..., q-1]首先给出IOA上的 算法流程QUICKSORT(A, p, r)1 if p < r

2013-07-06 21:35:55 892

原创 位操作 示例程序

#include "myBit.h"void bitApp(){ // Even or odd //EvenOrOdd(); // Change two integer //Exchange(); // Change sign 改变符号 //changeSign(); // absolute value 取绝对值 //a

2013-09-21 21:34:12 677

原创 从大端小端,到联合体与结构体

问题引出: 计算机大端小端之争。1)Little-Endian就是低位字节排放在内存的低地址端,高位字节排放在内存的高地址端。2) Big-Endian就是高位字节排放在内存的低地址端,低位字节排放在内存的高地址端。数字0x12345678 在大端小端的存储方式 1)大端模式:低地址 -----------------> 高地址0x12  |  0x34  |  0

2013-09-14 13:08:45 1414

转载 Linq learning

介绍C# 中 Linq 的应用。Introduction:LINQ: .NET Language Integrated Query.尝试一个问题:有两个数组int[] a = new int[] { 1, 2, 5, 4, 1, 4, 7, 2, 9, 0 };int[] b = new int[] { 2, 4, 7, 8 };找他们相同的元素

2013-09-13 20:58:32 543

原创 最短路径 Part I- Single source shortest path

单源最短路径问题: 即从一个起点 (single source)到其他节点的最短路径。Lemma 1. 最短路径的子路径也是最短路径。 (如果子路径不是最短路径那么之前的路径也不是最短路径)。Negative weight edgesIf the graph G = (V, E) contains no negative weight cycles reachable

2013-09-10 22:00:14 1526

原创 HMM 做训练的 Sigma not positive definite (非正定的)原因及处理办法

最近使用pmtk3工具,做 HMM with Gaussian Mixture Model 的 fitting 的时候总是报错问题是Sigma is not positive definite. 大致搜了下什么是非正定,以及解决办法。(I)问题出现:四种情况可以出现此问题1. 输入的 covariance 或者corelation matrix 非正定。例如在最小二乘规划中

2013-08-27 19:32:10 4328

原创 Bloom Filter 原理 及C++ 实现

布隆过滤器[1](Bloom Filter)是由布隆(Burton Howard Bloom)在1970年提出的。它实际上是由一个很长的二进制向量和一系列随机映射函数组成,布隆过滤器可以用于检索一个元素是否在一个集合中。它的优点是空间效率和查询时间都远远超过一般的算法,缺点是有一定的误识别率(假正例False positives,即Bloom Filter报告某一元素存在于某集合中,但是实

2013-07-13 18:04:51 4919 1

转载 归并排序

归并排序的应用场景是当文件太大,没有办法一次行读入内存。则可以考虑归并排序,步骤如下:1. 先将大文件依次读取,固定长度的数据,然后使用排序算法,将这些数据做内存排序;2. 将排序好的部分数据存入临时文件中;3. loop 1~2 直到大文件中的数据,被读完且排序后存入到临时文件中;4. 读取这N个临时文件,选取最小的做归并排序。 归并排序是一种稳定排序方法。 程序

2013-07-06 21:15:35 514

原创 迷宫问题 (下) 使用Quene 实现

Quene 的实现方法是 广度优先搜索方法。使用队列一层一层的将路线记录到队列中, 然后新加入的元素指向之前的元素。 struct { int i,j; int pre;}Qu[MAXSTACKSIZE];int front = -1, rear = -1;int findPathByQueue(int in_x, int in_y, int out_x, int out

2013-06-30 22:30:01 593

原创 迷宫问题 (上)栈 回溯法

迷宫问题的总体思路是,从迷宫的入口出发,沿着某一个方向向前试探,若能够行得通,则继续往前走,否则原来返回,再换另一个方向继续试探,直到所有可能的通路都被试探过,为了保证在任何一个位置都能够原来返回,需要设置一个堆栈结构来保存从入口到当前位置的路径。因为可以需要保证能够返回所在节点,所以需要回溯法能够保证回到走过的节点。本文的解法 参考 《数据结构 C》 李春葆 - 非迭代法, 迭代法 原创。迷

2013-06-30 16:16:44 924

原创 中缀和后缀表达式

前缀表达式 (Prefix Notation) 是指将运算符写在前面操作数写在后面的不包含括号的表达式,而且为了纪念其发明者波兰数学家Jan Lukasiewicz所以前缀表达式也叫做“波兰表达式”。比如- 1 + 2 3后缀表达式(Postfix Notation) 与之相反,是指运算符写在操作数后面的不含括号的算术表达式,也叫做逆波兰表达式。比如1 2 3 + -中缀表

2013-06-23 23:20:11 710

原创 C 版 位图排序法

问题: 给10^7 个 不重复的整数, 排序位图实现: 基本思路: 使用一位来表示一个数 例如集合 {1, 3, 5, 8},  可以用 位图 {10101001} 来表示。即对应位置为1 如下图所示. 关键操作有: 1) 找到数据所对应的字节位置 2)找到数据对应的字节中位位置 3) 判断某位为1, 置某位为1 etc方法: 1) 找到 对应字节位置: 如果系统是32

2013-06-20 21:24:53 630

原创 中英文并行语料对齐

1. 语料 MultiUN-zh-en.txt 2. 使用工具: 中文分词工具(stanford segmenter), 英文的tokenizer  对齐工具GIZA++ (giza-pp-v1.0.7.tar.gz)3. 预处理:a. 下载 en-zh-multiUN.tmx 版本的 包含了并行的句对,但是句对有些是错误的。需要处理一下,另外有些句子异乎寻常的长(

2013-06-03 23:25:04 4492

原创 C 语言 - 整型 原码,反码,补码

计算机可以识别0和1, 1个字节等于8位(1Byte=8bit)。无符号整型1表示为00000001,2表示为00000010,3表示为00000011, ..., 最大11111111。 无符号的数就是按这个原理来储存的,所以告诉你一个无符号的整数的二进制码,你就可以知道这个数是多少,而且知道在计算机中,这个数本身就是以这个二进制码来储存的。无符号的整数根本就没有原码、反码和补码。

2013-04-16 22:55:48 998

转载 Memory reordering

Memory Barriers and JVM Concurrency 对主存的一次访问一般花费硬件的数百次时钟周期。处理器通过缓存(caching)能够从数量级上降低内存延迟的成本这些缓存为了性能重新排列待定内存操作的顺序。也就是说,程序的读写操作不一定会按照它要求处理器的顺序执行。这段话是作者对内存屏障重要性的定义。通过cache降低内存延迟,这句话很好理解。但后面那句“为了性

2013-03-26 19:46:30 613

原创 Latex 中 Table中不显示 footnote, 表格强制分行, 解决方法

Sometimes it is a real pain to use the latex. For example, the footnote in table cannot be displayed normally.Need to add  following lines in the header.\usepackage{footnote}\makesavenotee

2013-03-13 11:16:57 6650

原创 Gephi 中文教程

Gephi is an open-source network analysis and visualization software package written in Java on the NetBeans platform.Gephi has been selected for the Google Summer of Code in 2009, 2010, 2011, and 2012

2013-03-12 23:14:43 8954

原创 Solr 开发 I - Installation, Indexing and Search

(1) Installation下载 solr-XXXX.zip (a)cmd 进入 example;(b)> java -jar start;(c)访问http://localhost:8983/solr/ (2)Indexing and search(a) 生成一个java application 工程(b) 引入solr4j 和solr-lib(c

2013-03-04 22:39:54 691

空空如也

空空如也

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

TA关注的人

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