摘要:law实验室提供很多的webgraph,但是没有提供相应的hostgraph。所谓hostgraph就是将webgraph中在同一站点的url合成一个结点。注意到这些webgraph中在同一个站点中的url是连续的,这对我们进行合并提供了很大的方便性。本来想用java来写,但是考虑到java的io效率在windows下比较差,就用C#了。我用IKVM将webgraph.jar和其依赖的jar文件打...
阅读全文
摘要:TrustRank is a biased PageRank method, which starts from some good seeds to propagate trust. It is very easy to implement based on PageRank. I implement it in Java using the WebGraph and LAW jar packa...
阅读全文
摘要:首先添加com引用CDO for windows 2000 library,然后下面的函数就可以完成下载的功能:代码 static void downloadMht(string url, string path) { CDO.Message msg = new CDO.Message(); CDO.Configuration...
阅读全文
摘要:package cn.edu.dlut.wisdom;import java.io.*;import java.util.*;public class FileAccess { public static String readAllText(String fileName) throws IOException { StringBuffer sb = new StringBu...
阅读全文
摘要:有的时候当我们的程序,递归调用太深的时候,可能我们的栈就溢出了。 这个问题很好解决,只要加上JVM参数-Xss2m,基本就能解决这个问题。
阅读全文
摘要:WebGraph中的图,基本都会在删除结点后,进行向前移动的操作,其实在很多是侯,这是没有必要的,甚至是有副作用的。SetNoneScaleMutableGraph就是我实现的一个没有进行前移操作的类,还没有做深入的测试,理论上来说,基本没有什么问题。 废话少说,直接上码:package cn.edu.dlut.wisdom;/* * Copyright (C) 2006-2007 Se...
阅读全文
摘要:Tarjan算法也是用来发现强连通子图的算法,是Kosaraju算法的改进,算法复杂度是,算法比较简单,位代码和java实现代码如下:package cn.edu.dlut.wisdom;import it.unimi.dsi.fastutil.ints.*;import it.unimi.dsi.fastutil.objects.*;import it.unimi.dsi.webgraph.*;...
阅读全文
摘要:看论文的时候,看到Kosaraju算法。Kosaraju是一个强连通分图的发现算法,如有代码中有详细的注释,所以就不赘述了。直接上码(使用webgraph库实现,在我之前的文章中,对webgraph有相关的介绍):package cn.edu.dlut.wisdom;import it.unimi.dsi.fastutil.ints.*;import it.unimi.dsi.fa...
阅读全文
摘要:Time Limit: 1000MS Memory Limit: 65536KBTotal Submissions: 15 Accepted: 8 Description: Badming看看上周的题目,觉得太难了,就想把题目出简单一些。求一个整数的开方√x。比如求 √99 =9 √100=10但这样也太简单了吧,为了增加些许难度,x的范围是0-10^26 Input: 给定一个自然数x.当x...
阅读全文
摘要:看了论文《Deeply Exploiting Link Structure: Setting a Tougher Life for Spammers》,用Java和webgraph库实现了一下其中的算法CPV,即计算AVRank和HVRank。最终的结果没有做归一化处理,我用数据集试了一下,发现效果还不错。 代码实现如下:package cn.edu.dlut.wisdom;import it.u...
阅读全文
摘要:有关SimRank请参看文章http://www.cnblogs.com/youwang/archive/2010/02/06/1665105.html,或者去看相关论文。下面是Java代码实现,用到的是webgraph库。/* * To change this template, choose Tools | Templates * and open the template in the ed...
阅读全文
摘要:计算组合数最大的困难在于数据的溢出,对于大于150的整数n求阶乘很容易超出double类型的范围,那么当C(n,m)中的n=200时,直接用组合公式计算基本就无望了。另外一个难点就是效率。 对于第一个数据溢出的问题,可以这样解决。因为组合数公式为:C(n,m) = n!/(m!(n-m)!) 为了避免直接计算n的阶乘,对公式两边取对数,于是得到:ln(C(n,m)) = ln(n!)-ln(m!)...
阅读全文