- 博客(60)
- 收藏
- 关注
转载 JVM Internal
This article explains the internal architecture of the Java Virtual Machine (JVM). The following diagram show the key internal components of a typical JVM that conforms to The Java Virtual Machine
2014-08-14 13:35:23 732
转载 机器学习中的数学(1)-回归(regression)、梯度下降(gradient descent)
版权声明: 本文由LeftNotEasy所有,发布于http://leftnoteasy.cnblogs.com。如果转载,请注明出处,在未经作者同意下将本文用于商业用途,将追究其法律责任。前言: 上次写过一篇关于贝叶斯概率论的数学,最近时间比较紧,coding的任务比较重,不过还是抽空看了一些机器学习的书和视频,其中很推荐两个:一个是stanford的machin
2013-08-26 18:08:51 778
原创 Max Entropy Model study note
随机事件的信息熵:设随机变量ξ,它有A1,A2,A3,A4,……,An共n种可能的结局,每个结局出现的概率分别为p1,p2,p3,p4,……,pn,则其不确定程度,即信息熵为:举例:抛硬币p(head) = 0.5, p(tail) = 0.5信息熵为H(p) = -(0.5 * log(0.5) * 2) = -log0.5 = 1(log以2为底)
2013-08-22 15:47:19 893
转载 字符串匹配的KMP算法
字符串匹配是计算机的基本任务之一。举例来说,有一个字符串"BBC ABCDAB ABCDABCDABDE",我想知道,里面是否包含另一个字符串"ABCDABD"?许多算法可以完成这个任务,Knuth-Morris-Pratt算法(简称KMP)是最常用的之一。它以三个发明者命名,起头的那个K就是著名科学家Donald Knuth。这种算法不太容易理解,网上
2013-05-27 22:04:35 613
转载 中文分词算法介绍
1. 最大匹配法 (正向/逆向)正向/逆向匹配法思想一样,只是一个从左向右切分,另一个从右向左切分,这里拿逆向匹配法举例子:输入例句:S1=”计算语言学课程有意思” ;定义:最大词长MaxLen = 5;S2= ” “;分隔符 = “/”;假设存在词表:…,计算语言学,课程,意思,…;最大逆向匹配分词算法过程如下: (1)S2=”";S1不为空,从S1右边取出候选子串W=”
2013-05-23 21:59:37 4024
原创 中文分词评测方法
实际的分词结果有四种:1. True -> True, TP — true positive (真正, TP)表示被模型预测为正的正样本2. True -> False,FP — false positive (假正, FP)被模型预测为正的负样本3. False -> True,TN — true negative (真负 , TN)被模型预测为负的负样本4. False ->
2013-05-23 21:39:18 1756
原创 线段树入门
引用Wiki对线段树的介绍:线段树(Segment Tree)是一种二叉搜索树,它将一个区间划分成一些单元区间,每个单元区间对应线段树中的一个叶结点。对于线段树中的每一个非叶子节点[a,b],它的左子树表示的区间为[a,(a+b)/2],右子树表示的区间为[(a+b)/2+1,b]。因此线段树是平衡二叉树。叶节点数目为N,即整个线段区间的长度。使用线段树可以快速的查找某
2013-05-15 14:51:11 726
原创 从头开始编写基于隐含马尔可夫模型HMM的中文分词器之二 - 模型训练与使用
我们使用/icwb2-data.rar/training/msr_training.utf8 用以训练模型,这个词库里包含已分词汇约2000000个。使用经典的字符标注模型,首先需要确定标注集,在前面的介绍中,我们使用的是{B,E}的二元集合,研究表明基于四类标签的字符标注模型明显优于两类标签,原因是两类标签过于简单而损失了部分信息。四类标签的集合是 {B,E,M,S},其含义如下:B:
2013-05-14 16:16:55 3026 5
原创 从头开始编写基于隐含马尔可夫模型HMM的中文分词器之一 - 资源篇
首先感谢52nlp的系列博文(http://www.52nlp.cn/),提供了自然语言处理的系列学习文章,让我学习到了如何实现一个基于隐含马尔可夫模型HMM的中文分词器。在编写一个中文分词器前,第一步是需要找到一些基础的词典库等资源,用以训练模型参数,并进行后续的结果评测,这里直接转述52nlp介绍的“中文分词入门之资源”:原文地址:http://www.52nlp.cn/%E4
2013-05-14 15:47:12 4352
转载 几种不同程序语言的HMM版本
“纸上得来终觉浅,绝知此事要躬行”,在继续翻译《HMM学习最佳范例》之前,这里先补充几个不同程序语言实现的HMM版本,主要参考了维基百科。读者有兴趣的话可以研究一下代码,这样对于HMM的学习会深刻很多!C语言版:1、 HTK(Hidden Markov Model Toolkit): HTK是英国剑桥大学开发的一套基于C语言的隐马尔科夫模型工具箱,主要应用于语音识别、语音合成的研
2013-05-10 22:25:18 840
原创 Leetcode - Subsets
基本功题,用回溯实现代码:public class Solution { public ArrayList> subsets(int[] S) { // Start typing your Java solution below // DO NOT write main() function ArrayList> results = ne
2013-05-03 15:28:38 858
原创 LeetCode - Interleaving String
本打算用类似于最长上升子序列的动态规划记忆化搜索实现,意外的竟然直接用回溯搜索就能pass Judge Large了,测试用例并不大是一个原因,还有就是子状态数可能要比想像中的要少。public class Solution { public boolean isInterleave(String s1, String s2, String s3) { // Start
2013-04-28 14:33:44 1144
原创 Google Code Jam 2013 - Bullseye
题目很简单,需要注意的是在大dataset规模下的怎样让程序运行时间不超时package Round_1_A;import java.io.File;import java.io.FileNotFoundException;import java.io.PrintWriter;import java.util.Scanner;public class Bullseye { /
2013-04-27 22:22:11 815
原创 LeetCode - Flatten Binary Tree to Linked List
树的前序遍历算法:/** * Definition for binary tree * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */public class Solution
2013-04-26 18:45:19 605
原创 LeetCode - Distinct Subsequences
回溯实现:public class Solution { public int numDistinct(String S, String T) { // Start typing your Java solution below // DO NOT write main() function return work(S, T, 0,
2013-04-26 17:06:40 664
原创 LeetCode - Populating Next Right Pointers in Each Node
编程题,按层次遍历,利用一个分隔树节点进行层次的分隔/** * Definition for binary tree with next pointer. * public class TreeLinkNode { * int val; * TreeLinkNode left, right, next; * TreeLinkNode(int x) { va
2013-04-25 19:00:50 567
原创 LeetCode - Pascal's Triangle II
简单的编程题,响应题目要求,不用额外的存储空间public class Solution { public ArrayList getRow(int rowIndex) { // Start typing your Java solution below // DO NOT write main() function ArrayLis
2013-04-25 18:17:21 958
原创 LeetCode - Pascal's Triangle
简单的编程题public class Solution { public ArrayList> generate(int numRows) { // Start typing your Java solution below // DO NOT write main() function ArrayList> result = new A
2013-04-25 18:09:17 1136
原创 LeetCode - Triangle
最简单的递归写法,可以pass Judge Small, TLE Judge Largepublic class Solution { public int minimumTotal(ArrayList> triangle) { // Start typing your Java solution below // DO NOT write main
2013-04-25 16:11:29 1173
原创 LeetCode - Best Time to Buy and Sell Stock III
先算出所有的赚钱区间,用一个列表存所有的购入时机,用另一个列表存所有的卖出时机。然后在这两个列表里取出两个买入节点,两个卖出节点,把收益最大化:public class Solution { public int maxProfit(int[] prices) { int in = -1; int index = -1; List buy
2013-04-24 17:01:39 893
原创 LeetCode - Best Time to Buy and Sell Stock II
动态规划记忆化搜索实现,时间复杂度应该小于O(N^3),可以pass Judge Smallpublic class Solution { public int maxProfit(int[] prices) { // Start typing your Java solution below // DO NOT write main() funct
2013-04-24 15:48:04 1236
原创 LeetCode - Best Time to Buy and Sell Stock
public class Solution { public int maxProfit(int[] prices) { // Start typing your Java solution below // DO NOT write main() function if (prices.length < 1) ret
2013-04-24 14:46:10 682
原创 LeetCode - Binary Tree Maximum Path Sum
递归加记忆化搜索,PASS Large Judge/** * Definition for binary tree * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */public
2013-04-23 18:10:25 560
原创 LeetCode - Valid Palindrome
通过Large Judge还挺不容易public class Solution { public boolean isPalindrome(String s) { int i=0, j=s.length()-1; while (i < j) { char ci=' ', cj=' '; while (i<j
2013-04-23 17:27:12 700
原创 LeetCode - Word Ladder
public class Solution { public int ladderLength(String start, String end, HashSet dict) { // Start typing your Java solution below // DO NOT write main() function LinkedLis
2013-04-23 16:20:40 1339
原创 LeetCode - Longest Consecutive Sequence
Given an unsorted array of integers, find the length of the longest consecutive elements sequence.For example,Given [100, 4, 200, 1, 3, 2],The longest consecutive elements sequence is [1,
2013-04-22 19:32:49 813
原创 LeetCode - Surrounded Regions
Given a 2D board containing 'X' and 'O', capture all regions surrounded by 'X'.A region is captured by flipping all 'O's into 'X's in that surrounded region .For example,X X X XX O
2013-04-22 17:21:46 1531
原创 Leetcode - Palindrome Partitioning
Given a string s, partition s such that every substring of the partition is a palindrome.Return all possible palindrome partitioning of s.For example, given s = "aab",Return [ ["aa"
2013-04-20 23:09:25 563
原创 leetcode - Palindrome Partitioning II
Given a string s, partition s such that every substring of the partition is a palindrome.Return the minimum cuts needed for a palindrome partitioning of s.For example, given s = "aab",Return
2013-04-19 17:32:58 633
原创 UVA 10051 Tower of Cubes
动态规划实现,用二维数组存储各个面朝上的情况package Ch9;import java.util.ArrayList;import java.util.List;import java.util.Scanner;public class Main { /** * @param args */ public static void main(
2013-03-30 17:57:31 612
原创 Topcoder SRM 573 WolfPackDivTwo
Problem Statement Wolf Sothe is a member of the wolf pack called Grid Walkers. The N wolves in the pack are numbered 0 through N-1. (Wolf Sothe is the wolf number 0, but this does not matter.)
2013-03-20 00:05:10 793
转载 使用sun.misc.Unsafe获取java对象地址
在传统的Java编程中,你将不再需要从内存中处理Java对象或位置。 当你在论坛上讨论这一点,提出的第一个问题是为什么你需要知道Java对象的地址? 它是一种有效的问题。 但以往,我们保留进行试验的权利。探索未知领域的问题并没有什么错。我想出了一个使用sun公司包的实验。Unsafe是一个属于sun.misc包。对你来说可能这个包有点陌生,看看源代码和方法,你就可以知道我所指的是什么了。J
2013-03-12 11:48:14 1308
原创 Linux下Java 通过JNI native与C进行交互的方法实现示例
第一步:定义Java类文件:public class Sample { public native int intMethod(int n); public native boolean booleanMethod(boolean bool); public native String stringMethod(String text); public nati
2013-03-10 21:15:47 838
原创 UBuntu下载编译安装内核
一、下载内核源码Ubuntu下使用apt-get命令可以下载内核源码:apt-get install linux-source下载完成后源码压缩包将会在/usr/src目录下。二、解压源代码 注意,网上很多教程上说应该解压到 /usr/src,纯属以讹传讹,linux掌门人linus说解压到任何目录上都可以。当然,linus的说法是正确的。先将压缩包复制到usr/sr
2013-03-06 17:09:49 1106
转载 Linus:利用二级指针删除单向链表
原文地址:http://coolshell.cn/articles/8990.htmlLinus大婶在slashdot上回答一些编程爱好者的提问,其中一个人问他什么样的代码是他所喜好的,大婶表述了自己一些观点之后,举了一个指针的例子,解释了什么才是core low-level coding。下面是Linus的教学原文及翻译——“At the opposite end
2013-02-04 12:22:48 566
转载 dlmalloc解析连载(4)
原文地址:http://blog.chinaunix.net/uid-7907749-id-2037210.html上两篇讲解的chunk块是dlmalloc内比较细粒度的管理结构,比它们更大的内存块被称之为段(segment),其结构体以及相关定义如下:struct malloc_segment { char* base; /* ba
2013-02-01 17:22:08 462
转载 dlmalloc解析连载(3)
原文:http://blog.chinaunix.net/uid-7907749-id-2037209.html上一篇讨论了dlmalloc对大小在256字节以下的chunk块进行的组织管理,本篇我们再来看看对于大小在256字节以上的chunk块,dlmalloc是如何管理的。对于大小在256字节以上的chunk块,dlmalloc也采用了所谓的分箱机制,不过由于大于256的数
2013-02-01 17:20:22 578
转载 dlmalloc解析连载(2)
原文地址:http://blog.chinaunix.net/uid-7907749-id-2037208.html前面连载提到过对于大小在256字节以下的chunk块是通过malloc_chunk组织管理的,256字节以下的chunk块一共有256/8=32类,即字节为8字节、16字节、24字节、32字节,……,256字节,因此dlmalloc维护32个双向环形链表(而且具有链表
2013-02-01 17:16:47 415
转载 dlmalloc解析连载 (1)
原文:http://blog.chinaunix.net/uid-7907749-id-2037206.htmldlmalloc是目前一个十分流行的内存分配器,其由Doug Lea(主页为http://gee.cs.oswego.edu/)从1987年开始编写,到目前为止,最新版本为2.8.3(可以从ftp://g.oswego.edu/pub/misc/malloc.c获取),由于其高效率等
2013-02-01 17:13:23 526
转载 巧夺天工的kfifo
原文地址:http://blog.csdn.net/linyt/article/details/5764312Linux kernel里面从来就不缺少简洁,优雅和高效的代码,只是我们缺少发现和品味的眼光。在Linux kernel里面,简洁并不表示代码使用神出鬼没的超然技巧,相反,它使用的不过是大家非常熟悉的基础数据结构,但是kernel开发者能从基础的数据结构中,提炼出优美的
2013-02-01 10:53:36 351
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人