随笔分类 -  算法与数据结构

large graph挖掘的技术基础
摘要:我一直在做社交网络的挖掘工作,深感目前的一些技术并不能满足社交挖掘的需要。我并没有用过太多的工具,而且图计算的平台也没有用过,涉及到大规模数据的离线分析,主要是依赖hadoop。不过,这并不妨碍,我从挖掘需求的角度来探讨:社交挖掘到底需要哪些技术基础,需要一些什么样的工具。题目中有一个词:large graph。也有很多人认为是big graph。我之所以改变称谓,主要的原因在我前面的博客中有体现。因为big data中的个体之间,往往具有关系,这个样就组成了一个graph,并且这是个超大的graph。元数据信息要比单纯的big data要高几个量级。所以,为了进一步体现graph之大,我称之 阅读全文

posted @ 2012-11-18 18:45 sing1ee 阅读(3743) 评论(27) 推荐(4)

一些不常见但是很重要的数据结构
摘要:这篇文章是stackoverflow的一篇帖子。上面提到了很多有用的数据结构。有的听过了,经常用,有的没有听过,记录下来。Trie树。应用比较多,一个比较cool的trie的应用TRASH-A dynamic LC-trie and hash data structure。Bloom filter。wiki链接删除某一项是不允许的,不过可以实现可计数的counting bloom filter在BigTable,Cassandra中都有使用可以用来快速检查是否拼写错误Rope:rope 数据结构表示不能修改的字符序列,与 Java 的 String非常像。但是 ropes 效率奇高的字符串变换 阅读全文

posted @ 2012-10-12 11:00 sing1ee 阅读(2429) 评论(0) 推荐(1)

最长公共子序列问题的动态规划解法
摘要:就我目前学习动态规划的程度,我觉得使用动态规划的方法解决一个问题,最难的是:将问题的解决过程用递归的形式表达出来。使用递归的形式表达出来之后,可以判断是否有重叠的子问题,或者我们在构造递归表达形式的过程中,就会进行判断。另外,可以根据递归的参数,设计数组存储计算的结果,也就是有些博客中提到的填表过程。有很多时候,觉得动态规划解法的代码中,数组运用到很是巧妙,这个主要还是来自递归形式中。 在上一篇的博客中,递归形式其实比较明显。在这一篇,我尝试分析最长公共子序列问题的动态规划解法儿,加深递归表达式产生的过程,也就是自顶向下的分析过程。 最长公共子序列问题:一个数列 S,如果分别是两个或多个已知数 阅读全文

posted @ 2012-01-30 09:10 sing1ee 阅读(334) 评论(0) 推荐(0)

线性时间排序算法-计数排序
摘要:介绍线性时间排序算法,主要是为了实现构建后缀数组的倍增算法,倍增算法性能保证的主要依据就是采用了基数排序,通常,基础排序会使用计数排序作为rank排序子过程。这里,基数排序和计数排序都是线性时间排序算法,线性时间排序算法还有桶排序。性对于快速排序等比较排序算法而言,线性时间排序算法,没有比较运算。下面先介绍计数排序。 计数排序的基本原理是:对于任意待排的数字x,确定小于x的元素个数,然后将x直接放在最终输出数组中的特定位置上。如有10个小于x的元素,在最终的输出数组中,x就排第11,如果数组是从0开始,则在索引为10的位置。下图是从《算法导论》摘下来的,可以帮助理解计数排序。 如何确定小于x. 阅读全文

posted @ 2011-12-26 00:19 sing1ee 阅读(230) 评论(0) 推荐(0)

后缀数组构建--倍增算法分析
摘要:对于后缀数组的了解,要始于一篇论文,论文中,使用后缀数组的方式存储索引,改进词组检索的效果和性能,相对于倒排索引而言,后缀数组在空间占用上会比较大,但是效果却非常好,这个是倒排索引所无法高效应对的,而且,个人的一个猜想,会有越来越多的内存索引是基于后缀数组实现的,或许,已经有了。 从别的地方转来的几个个概念,我就不重复了: 子串:字符串S的子串r[i..j],i≤j,表示r串中从i到j这一段,也就是顺次排列r[i],r[i+1],...,r[j]形成的字符串。 后缀:后缀是指从某个位置i开始到整个串末尾结束的一个特殊子串。字符串r的从第i个字符开始的后缀表示为Suffix(i),也就是Suff 阅读全文

posted @ 2011-12-25 03:19 sing1ee 阅读(307) 评论(0) 推荐(0)

开始学习算法
摘要:说开始学习,有点儿不对。我之前也用过算法,不过很少专门,系统的去看一个算法。都是用到了就找一个,然后了解一下,仅此而已。而且,长时间的使用java语言,我算法方面的思考能力,真的越来越弱了。同时,危机感越来越强。 前几天,我下定决心,要把算法详细的,深入的看一看。我想,在同学,同事们的帮助下,一起讨论,我会很快跟上吧。希望如此。 新的博客,新的开始。立此为证。 阅读全文

posted @ 2011-12-25 02:32 sing1ee 阅读(126) 评论(0) 推荐(0)