`
phyeas
  • 浏览: 164640 次
  • 性别: Icon_minigender_1
  • 来自: 珠海
社区版块
存档分类
最新评论
文章列表
  一个用数组表示的二叉树int[] tree=new int[]{7,5,46,1,8,9,36...};,根节点为7,下面俩子节点分别是5和46,以此类推产生其他子节点。现在需要找出该二叉树所有节点之和最大的路径。   首先想到的是将该数组变成一个树形结构的数 ...
  1. What is γ code? γ编码并不是我随便乱取的名字,其原理在信息检索导论第5章第3节有介绍,用于压缩一连串有序的数字类型的数据非常有用。在MG中将γ编码归类为全局模型(MG更推崇局部模型)。其原理是将所有的数据分成两部分连起来,第一部分为数据长度,第二部分为数据内容。这样做的好处是对于很小的数字γ编码可以只用bit就可以表示了,如对于8这样的数字,只需要表示数据长度的1110四位字节加上表示数据的000三位字节就可以表示了。而如果当做int保存,则需要4字节即32bit保存,而实际上前面的数据都是0,这样做很浪费空间。但γ编码需要保存后面的数据的长度,在保存很大的数字时会 ...

火星.

曾经,有人在这片神圣的土地建立了火星,名曰:火星常驻JE办事处.当时的我们,年轻,朝气,套用一句话,我们是有灵魂的人.     可如今火星已经烟消云散了.尽管豆瓣有我们的办事处:http://www.douban.com/group/137197/,可是被看作是火星的传承……可毕竟.这是不同地.我们一生都为火星效力,而火星的倒塌,却使得我仿佛丢掉了自己的灵魂,一生的效忠,片刻就成了……空!     是的,就是这样,     我们将在平庸之中,慢慢老去.     我已经失去了目标.现在的我,连自己都不知道自己在干什么     一切的一切,所有的荣耀,所有地凝聚,所有的热爱,都来源于一个名字:    ...
  事实上要自己写的代码很少。我写了四个类。都在org,phyeas包内,其他代码没有改过。目前测试的结果是: 速度:104k/s f-score:0.938 ---------------------- 测试平台: 系统:Ubuntu9.10 CPU:P43.06 内存:1G+512M Eclipse:3.4   在Windows下可能会有错误原因可能是字符集不一样,我Ubuntu下默认字符集是UTF-8,所以我在读取文件时有些是指定了字符集,在windows下应该不用,发现有这个问题的朋友可以与我联系。   用法:先构建预处理语料,使用我的ConvertToMEDi ...
连续几天的努力终于把f-score从0.856一直提升到0.939。特征也从原来的5中增加到了8种,分类从原来的4种加到了6种,170多W的事件,训练出50多M的模型文件。想起原本只有区区0.856的f-score也觉得真不容易,呵呵。越到后面越觉得再提升就很困难了,基本上特征都提取完了……目前没有想到新的特征。   在这里也简要说下我的特征系列(当前字用C表示,C-1既是前一个字):C pC-1 nC+1 pcC-1C cnCC+1 pnC-1C+1 ppC-2C-1 nnC+1C+2 (num | pnum | nnum) (symbol | nSymbol)   再加上读取11个字 ...
1、利用windows api对文件系统进行监听 尝试1:利用FindFirstChangeNotificationA、WaitForMultipleObjects、FindNextChangeNotification组合 这一组合缺点是就api而言无法获取变更的文件名,还要自己遍历文件夹比对。放弃。   尝试2:CreateFileA、ReadDirectoryChangesW组合,完美的组合,可以获取到变更的文件名,唯一不足的是还要用一个函数来转换获取到的文件名(WideCharToMultiByte)。   2、关于python调用c语言。使 用distutils可以将c ...
今天风月群的燕大师突然说谁有空去研究一下play,于是就去研究了一下,在play的官网中发现这个页面:Five cool things you can do with Play 其中,令我好奇的是play竟能自动填充action方法的参数。并且经过试验,是根据参数名进行填充的。觉得甚是神奇。便决定研究之。结论是:“play通过自定义ClassLoader和enhancers在运行时生成class,并在class中添加了各个方法的参数名。然后使用反射进行获取。” 首先,server.ServletWrapper接到请求。初始化一些参数后调用Invoker的invokeInThread方法。再 ...
背景:   话说上次上头让我研究编辑器,后来又得知说客户方要求使用GWT,无奈之下转而又开始研究起gwt,以前没有接触过,说得不对的地方各位砸砖。。 正文:   GWT主要分为两部分:翻译和RPC。翻译即是将java代码翻译为js代码,由于多数java语法都于js雷同,此过程也相当简单,这个过程要注意的是:java是静态类型的,java的数组声明方式与js不同,要完全翻译java语句就要把期间调用的方法也翻译出来,但这个过程中如果遇到RemoteService的对象,则不翻译其内部代码,而仅给出RPC实现。所以就要求翻译器具备语义及语言结构分析能力(当然了,gwt的翻译器应该具备优化代码的 ...
在被js狠狠地折磨了8个小时后,页面终究还是运行起来了。不过还没被折磨够,明天还要继续接受摧残。。 背景:昨天下午,老板一个电话过来,让我作个demo。说是为做一个可视化编辑器作准备。 研究: 我记得je的js板块似 ...
1、Python源码剖析对应的版本为2.5。在py3k中第0章中所说的Objects/intobject.c文件实际上是不存在的,因为在py3k中没有int类型,对应的为long,由于long没有专门的long_print方法,所以例程可跳过 2、编译Python:第一次编译安装时需要执行make install,但以后每次修改之后不用每次install了,在生成了文件名为python的可执行文件后直接复制过去即可。 3、根据书中记载,python每次对象的引用减为0时调用“析构方法”,并把对象归还对象池,相对于jvm规范中的对象回收方法不一样,jvm中只有当对象真正在内存中析构时调用fin ...
经过 rednaxelafx 的指点和本人的努力,新一版版的文法终于出来了,呵呵 这次终于让文法可以识别function。并且将上次的有递归语法改为左递归(rednaxelafx 的功劳) 又自己重写了一遍,熟悉一下思路。文法这东西确实不好写。 以下是文法文件的内容: %{ #include "stdio.h" %} /*KeyWord*/ %token TYPEOF VAR FUNCTION RETURN FOR WHILE DO IF ELSE BREAK DELETE TRY CATCH IN SWITCH FINALLY NEW CASE CONT ...
经过几个小时的努力,文法文件貌似终于工作正常了。文法定义的是一个js变量声明语句的文法,以此来学习文法的定义和使用。 测试输入: var s=123; var s="sadasd"; var s=(1); var s=1+3*5; var s=1+3+5; var s=s.p; var s=s[1]; var s=s==s; var s=!s; var p=p.point(); var p=p.point()-1; var a=new Array(); var a=ss=s=d; var regex=/avc/; var a=ss=s; va ...
参考《编译原理及实践》 有如下文法:A→(A)|a 先给出该文法的DFA: 根据规定,将A'→A作为开始。 得到文法: A'→A A→(A)|a ----------------- 根据从左到右扫描,虚拟一个游标。当前游标在-1处,即: A'→A      ↑(在A前面 ...
GNU/Linux编程指南中第二部分中读取文件信息的程序中包含代码: if((fd=open(args[1], O_RDONLY))<0){ perror("open"); exit(EXIT_FAILURE); }  但事实上,如果输入文件为管道文件,程序会被阻塞。要添加O_NONBLOCK参数。即: if((fd=open(args[1], O_RDONLY|O_NONBLOCK))<0){ perror("open"); exit(EXIT_FAILURE); }  
周末在家把思路理了一边,先是用python实现了一下,但性能不太理想(100k/s),考虑到可能是由于动态语言的效率本身比较慢的原因,于是将算法改成c语言实现,最终的结果是:1.8M/s(硬件环境:Intel Core Duo 1.73G, 内存2G)。对于这个结果来说,我还是不太满意,比较现在动辄都是上G的数据。这样的效率太慢了,下面放上代码,各位讨论下是否还有优化的余地或者这个算法本身比较慢,或者这个方案是不可行的? 以下代码在Ubuntu9.04下编译并运行通过,测试数据是从je上随便搞了几篇文章。 gcc版本:4.3.3     #include <stdio.h> ...
Global site tag (gtag.js) - Google Analytics