随笔分类 - 算法/数据结构
算法是计算机科学最核心的技能!
摘要:Definition: a topological sort of a DAG G is a sort such that for all edge (i,j) in G, i precedes j. Then we have following corollaries: A sort is a t
阅读全文
摘要:(THIS BLOG WAS ORIGINALLY WRTITTEN IN CHINESE WITH LINK: http://www.cnblogs.com/waytofall/p/3732920.html)Foreword: Floyd-Warshall is a classical dynam...
阅读全文
摘要:http://www.gocalf.com/blog/weighted-random-selection.html没事可以看看,这个博客里面很多文章不错
阅读全文
摘要:按:今天看Tanenbaum的计算机网络时讲到了Dijkstra算法。关于算法的正确性,《算法导论》给出了严格的证明。CLRS的证明基于一个通用的框架,非常清晰。今天只是随意想想是否有其他证明的方式,结果发现是有的。虽然这种证明方法可能早已有人用过,不算新鲜。不过自己想了一通就把它放到这里纯粹博大家...
阅读全文
摘要:今天在看代码源文件求diff的原理的时候看到了LCS算法。这个算法应该不陌生,动规的经典算法。具体算法做啥了我就不说了,不知道的可以直接看《算法导论》动态规划那一章。既然看到了就想回忆下,当想到算法正确性的时候,发现这个算法的正确性证明并不好做。于是想了一段时间,里面有几个细节很trick,容易陷进...
阅读全文
摘要:引言:Floyd-Warshall算法作为经典的动态规划算法,能够在O(n3)复杂度之内计算出所有点对之间的最短路径,且由于其常数较小,对于中等规模数据运行效率依然可观。算法共使用n此迭代,n为顶点个数。其中第k次迭代计算出每对顶点之间所有中间结点小于等于k的最短路径长度,其中i到j的最短路径要么是...
阅读全文
摘要:http://www.cg.info.hiroshima-cu.ac.jp/~miyazaki/knowledge/teche23.html
阅读全文
摘要:(假)随机数发生器是Monte Carlo算法的基础,自然大家格外关注。近几年,日本某君发明的Mersenne Twister[Makoto Matsumoto]可谓其中翘楚。不过,它并非尽善尽美。一则它不适合用于数据加密,二则不能通过一些统计检验。三嘛就是源程序比较长,不是一眼就能看明白的。反过来,上世纪90年代后期就被Marsaglia[Marsaglia]发明出来的Keep-It-Simple-And-Stupid算法却挺有趣而简短,而且能打通DIEHARD的各种检验[DIEHARD]。下面是源代码:unsigned int x = 123456789, y = 362436000, .
阅读全文
摘要:http://www.iti.fh-flensburg.de/lang/algorithmen/sortieren/networks/indexen.htm
阅读全文
摘要:http://www.isthe.com/chongo/tech/comp/fnv/
阅读全文
摘要:一本讲解字符串算法的非常全面的书籍,很著名Dan Gusfield Algorithms on Strings, Trees and Sequences: Computer Science and Computational Biology下载链接:http://www.ppurl.com/2011/10/algorithms-on-strings-trees-and-sequences.html
阅读全文
摘要:在看Suffix Tree的线性时间创建算法的时候知道的这个人,貌似对LR文法也有研究,mark之http://www.cs.helsinki.fi/u/ukkonen/
阅读全文
摘要:KMP算法是非常经典的字符串匹配算法,而且有可能是最经典的一个。同时它也是非常典型的一种优化算法,它把原本暴力法O(mn)的最坏复杂度降低到了O(m+n)(虽然实际上暴力法的执行复杂度期望依然是线性的),其思想非常具有典型性和可借鉴性,值得好好学习。1 基本思想KMP算法的基本思想是,借助一个预先计算好的数组pi,在匹配了一定数量的模式的情况下,遇到不匹配的字符时,不像暴力法那样将待匹配的文本下标从上一次匹配的地方向后移动一个位置,并将已匹配的模式个数清零,而是利用已经匹配部分的信息,迅速跳过那些不可能匹配成功的文本开头,减少了暴力法中一些不必要的盲目搜索。比如,对于模式0 1 2 3 4 5
阅读全文
摘要:How I Trie to Make Spelling Suggestionshttp://blog.afterthedeadline.com/2010/01/29/how-i-trie-to-make-spelling-suggestions/How to Write a Spelling Correctorhttp://norvig.com/spell-correct.html
阅读全文
摘要:关于LIS(Least Increasing Subsequence,可译为最长递增子序列、最长上升子序列),其O(n2)和O(nlgn)的算法可以见博文[1][2]。O(n2)的算法很早之前就听说,不算新鲜,但O(nlgn)的算法还是第一次听说,觉得很新鲜,也很牛。既然很多人都引用了这个算法我相信...
阅读全文
摘要:http://www.cnblogs.com/ttltry-air/archive/2012/08/13/2636488.html
阅读全文
摘要:http://community.topcoder.com/tc?module=Static&d1=tutorials&d2=alg_index
阅读全文
摘要:http://www.cnblogs.com/Wizmann/archive/2012/06/22/2558751.htmlhttp://www.cppblog.com/Yuan/archive/2010/09/02/125640.html?opt=admin
阅读全文
摘要:http://www.cnblogs.com/eric-blog/archive/2011/05/31/2064785.htmlhttp://hi.baidu.com/novosbirsk/blog/item/723a9727a9ab8804918f9dca.html其实也谈不上推荐,只是自己做过的题目而已,甚至有的题目尚未AC,让在挣扎中。之所以推荐计算几何题,是因为,本人感觉ACM各种算法中计算几何算是比 较实际的算法,在很多领域有着重要的用途(例如本人的专业,GIS)。以后若有机会,我会补充、完善这个列表。计算几何题的特点与做题要领:1.大部分不会很难,少部分题目思路很巧妙2.做计算几何
阅读全文
摘要:http://dongxicheng.org/structure/structure-algorithm-summary/
阅读全文

浙公网安备 33010602011771号