Data structure and Algorithm
文章平均质量分 95
myjoying
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
匈牙利算法
本文转自大牛博客:http://www.byvoid.com/blog/hungary/ 这是一种用增广路求二分图最大匹配的算法。它由匈牙利数学家Edmonds于1965年提出,因而得名。 定义 未盖点:设Vi是图G的一个顶点,如果Vi 不与任意一条属于匹配M的边相关联,就称Vi 是一个未盖点。 交错路:设P是图G的一条路,如果P的任意两条相邻的边一定是一条属于M而另一条不属于转载 2012-05-28 19:16:55 · 526 阅读 · 0 评论 -
二分查找法的实现和应用汇总
二分查找法的实现和应用汇总在学习算法的过程中,我们除了要了解某个算法的基本原理、实现方式,更重要的一个环节是利用big-O理论来分析算法的复杂度。在时间复杂度和空间复杂度之间,我们又会更注重时间复杂度。时间复杂度按优劣排差不多集中在:O(1), O(log n), O(n), O(n log n), O(n2), O(nk), O(2n)到目前位置,似乎我学到的转载 2013-04-18 20:21:01 · 718 阅读 · 0 评论 -
重建二叉树(先序+中序 : 中序+后序)
由中序遍历 分别和前序遍历,后序遍历进行建树的方法: // 由中序和后序遍历序列进行建树, 返回根结点指针 Node * InPostCreateTree(int *mid,int *post,int len){ if(len == 0) return NULL; int i=len-1; while(post[len-1] !=转载 2012-12-17 10:40:22 · 594 阅读 · 0 评论 -
哈夫曼编码简介
哈夫曼编码简介2010年03月17日 |本网站遵守CC版权协议 转载请注明出自www.thecodeway.com 哈弗曼编码几乎是所有压缩算法的基础,其实这个算法并不复杂,简单的理解就是,如何用更短的bit来编码数据。 我们知道普通的编码都是定长的,比如常用的ASCII编码,每个字符都是8个bit:字符编码A00101001转载 2012-10-21 19:58:29 · 739 阅读 · 0 评论 -
Trie树与AC算法
作者:myjoying 时间:2012年9月10日 在我的前一篇博文《AC算法--多模式匹配(论文解析版)》(http://blog.youkuaiyun.com/myjoying/article/details/7960534)中介绍了AC算法的实现原理,但是并没有给出AC算法的具体实现。AC算法的实现必须首先解决几个问题。首先需要解决的是goto表的实现原创 2012-09-10 10:26:32 · 5435 阅读 · 0 评论 -
KMP算法学习
KMP算法是一种高效的模式匹配算法。 与BF算法的比较 在普通的匹配算法BF中,目标串和模式串的索引值都需要重新回到起点再次进行匹配,所以该算法的时间复杂度较高,达到O(m*n)。KMP算法的核心思想是寻找模式串本身的特征,在此基础上达到目标串不回溯,模式串有规律回溯的目的,以减少回溯比较的次数,降低时间复杂度,达到O(m+n)。但是这是建立在提高空间复杂度的基础上的。原创 2012-09-06 08:29:52 · 3073 阅读 · 0 评论 -
AC算法--多模式匹配(论文解析版)
早在1975年贝尔实验室的两位研究人员Alfred V. Aho 和Margaret J. Corasick就提出了以他们的名字命名的高效的匹配算法---AC算法。该算法几乎与KMP算法(http://blog.youkuaiyun.com/myjoying/article/details/7947119)同时问世。与KMP算法相同,AC算法时至今日仍然在模式匹配领域被广泛应用。 最近本人原创 2012-09-09 16:02:02 · 12231 阅读 · 0 评论 -
BM算法学习
BM算法全称为Boyer-Moore算法,与KMP算法相似是一种精确地模式匹配算法。一般来说比KMP算法更加高效。 与KMP算法比较 相似点:都是寻找模式串自身的规律,在匹配失效时获得最大的跳转距离; 不同点:实际操作中KMP算法是从左到右进行比较,而BM算法是从右到左。这就决定了在寻找规律的过程中,KMP算法的核心是寻找子串的相同前缀,而BM算法是寻原创 2012-09-08 15:58:56 · 2511 阅读 · 0 评论 -
A*算法入门--A* Pathfinding for Beginners
原文地址:http://www.gamedev.net/page/resources/_/technical/artificial-intelligence/a-pathfinding-for-beginners-r2003 本着学习算法和锻炼英文水平的目的翻译了这篇颇具名气的《A* Pathfinding for Beginners》。这篇文章详细讲述了A*算法的基础,还在文后提出了很多翻译 2012-06-09 15:26:42 · 3637 阅读 · 0 评论 -
[约瑟夫环]n个数字(0,1,…,n-1)形成一个圆圈,从数字0开始... ...
[约瑟夫环]n个数字(0,1,…,n-1)形成一个圆圈,从数字0开始... ...题目:n个数字(0,1,…,n-1)形成一个圆圈,从数字0开始,每次从这个圆圈中删除第m个数字(第一个为当前数字本身,第二个为当前数字的下一个数字)。当一个数字删除后,从被删除数字的下一个继续删除第m个数字。求出在这个圆圈中剩下的最后一个数字。分析:既然题目有一个数字圆圈,很自然的想法是我们用一个数据结构转载 2012-05-25 20:43:30 · 894 阅读 · 0 评论
分享