
算法
文章平均质量分 52
yxc135
此用户很懒,没有任何简介
展开
-
红黑树的优点
//转自wangyu:红黑树是一种很有意思的平衡检索树。它的统计性能要好于平衡二叉树(有些书籍根据作者姓名,Adelson-Velskii和Landis,将其称为AVL-树),因此,红黑树在很多地方都有应用。在C++ STL中,很多部分(目前包括set, multiset, map, multimap)应用了红黑树的变体(SGI STL中的红黑树有一些变化,这些修改提供了更好的性能,以转载 2012-09-03 21:13:42 · 35426 阅读 · 2 评论 -
O(n lg n)-time Algorithm to Find the Longest Monotonically Increasing Sub-sequence
转载 2013-07-26 12:57:08 · 1415 阅读 · 4 评论 -
Difference between Full Binary Tree and Complete Binary Tree
转载 2013-08-02 22:35:37 · 1004 阅读 · 0 评论 -
O(n^2)-time Algorithm to OPTIMAL-BST Question
Knuth [184] has shown that there are always roots of optimal subtrees such that root[i, j - 1] ≤ root[i, j] ≤ root[i + 1, j] for all 1 ≤ i The original O(n^3)-time algorithm is:To转载 2013-07-27 20:34:23 · 2036 阅读 · 2 评论 -
Solution to Bitonic Euclidean Traveling-salesman Problem
转载 2013-07-28 22:46:12 · 4584 阅读 · 0 评论 -
Solution to Printing Neatly Problem
转载 2013-07-29 20:30:53 · 1380 阅读 · 0 评论 -
Lowest Common Ancestor问题的解决思路
对于Off-Line的Lowest Common Ancestor问题,问题描述如下: we are given a rooted tree T and an arbitrary set P{(u,v),...} of unordered pairs of nodes in T , and we wish to deter-mine the least common ancestor o原创 2013-08-19 18:51:38 · 3715 阅读 · 0 评论 -
文件比较算法
处理分三层:第一层——文件层,对于待比较文件列表中的每一个文件,都要对比较文件列表进行遍历,按求出的相似度对比较文件列表进行排序。界面上的表现就是,每点击左侧待比较文件列表中的一项,右侧都会展示排好序的比较文件列表。第二层——文本行层,这一层是用来计算上一层排序所用的相似度,比较单位为行,将每一行看作一个元素,那么两个文件就是两个元素序列,采用LCS算法(最长公共子序列算法),算出相同的元原创 2013-08-20 22:53:52 · 5879 阅读 · 4 评论 -
Dive into Coin Changing Problem
c、With actual U.S. coins, we can use coins of denomination 1, 10, and 25. Whenn = 30 cents, the greedy solution gives one quarter and five pennies, for a totalof six coins. The non-greedy solution转载 2013-08-10 13:16:13 · 1030 阅读 · 0 评论 -
几种不同类型Heap的对比
第一种:Ordinary Heap 我们最常用的二叉树结构的堆,操作的时间复杂度为 MAKE-HEAP - O(1) INSERT - O(lg n) MINIMUM - O(1) EXTRACT-MIN - O(lg n) UNION - O(n) DECREASE-KEY - O(lg n) DELETE - O(lg n) 可以看出,除了原创 2013-08-18 19:01:48 · 1912 阅读 · 0 评论 -
Solution to 0–1 Knapsack Problem
转载 2013-07-30 23:04:09 · 770 阅读 · 0 评论 -
Solution to Point of Maximum Overlap Problem
Point of Maximum Overlap ProblemSuppose that we wish to keep track of a point of maximum overlap in a set of intervals—a point that has the largest number of intervals in the database overlapp转载 2013-07-13 12:44:36 · 2875 阅读 · 0 评论 -
利用Murmurhash实现Bloom filter(布隆过滤器)
关于布隆过滤器的介绍网上有很多,但都没有涉及具体如何实现,尤其是最后的k个相互独立的哈希函数如何实现。 具体实现步骤如下: (关于布隆过滤器的介绍和相关证明,维基百科是看过的最好的:http://en.wikipedia.org/wiki/Bloom_filter ) (1)确定过滤器大小: 假设我们要处理的数据总数是N,可以容忍的错误率是P,那么我们首先需要确定出过滤原创 2013-05-05 14:38:19 · 5364 阅读 · 0 评论 -
用败者树优化K路归并排序
图9.16给出的归并过程属于2路平衡归并。做K路平衡归并(k-way balanced merging)时,如果有m个初始归并段,则相应的归并树有[logkm]+1层,南非要归并[logkm]趟。 做内部归并时,在k个对象中选择最小者,需要顺序比较k-1次。每趟归并u个对象需要做(u-1)*(k-1)次比较,S趟归并总共需要的比较次数为: S*(u-1)*(k-1)=[logkm]*(转载 2013-05-08 15:37:35 · 5128 阅读 · 0 评论 -
维特比算法——寻找最可能的隐藏状态序列
原文标题为:维特比算法:本质上是一个动态规划算法http://hi.baidu.com/hehehehello/item/5ae1ede84422feadcf2d4f71寻找最可能的隐藏状态序列(Finding most probable sequence of hidden states) 对于一个特殊的隐马尔科夫模型(HMM)及一个相应的观察序列,转载 2013-05-19 20:57:37 · 4015 阅读 · 0 评论 -
N一最短路径粗分模型
转载 2013-05-19 20:54:05 · 857 阅读 · 0 评论 -
如何使K路归并外排序达到最优
在谈到如何使K路归并更加快速时,大部分书上写的是增加路数K,但是他们都没有说明这其中很重要的一点,就是增加路数的同时他们将内存也扩大了。 下面我们分析现实中的情况,待排数据和内存大小都是确定的。 给定待排序的数据,大小为Sd,给定内存大小Sm,现在可控的只有分页大小(注意这个页与操作系统中的页没有任何关系,是排序的程序自定的数据分割单位,数据页),设为Sp:原创 2013-06-17 15:01:24 · 2576 阅读 · 0 评论 -
Solution to Articulation Points, Bridges, and Biconnected Components Problem
(g)很容易证明(h)经过(f)中的方法算出所有的bridges以后,在G中去除所有的bridges,然后用DFS对G进行遍历,每一个连通图就是一个biconnected component,在遍历过程中对每一个component中节点的tag进行相应赋值。转载 2013-09-03 19:10:02 · 1945 阅读 · 0 评论