算法
zhangxinrun_业余erlang
这个作者很懒,什么都没留下…
展开
-
算法复杂度中的O(logN)底数是多少
转载:https://www.cnblogs.com/lulin1/p/9516132.html 前言 无论是计算机算法概论、还是数据结构书中,关于算法的时间复杂度很多都用包含O(logN)这样的描述,但是却没有明确说logN的底数究竟是多少。算法中log级别的时间复杂度都是由于使用了分治思想,这个底数直接由分治的复杂度决定。如果采用二分法,那么就会以2为底数,三分法就会以3为底数,其他亦然。 不过无论底数是什么,log级别的渐进意义是一样的。也就是说该算法的时间复杂度的增长...转载 2020-11-04 15:02:25 · 1463 阅读 · 0 评论 -
用实例给新手讲解RSA加密算法
转载:http://www.cfca.com.cn/zhishi/wz-012.htm RSA加密算法是最常用的非对称加密算法,CFCA在证书服务中离不了它。但是有不少新来的同事对它不太了解,恰好看到一本书中作者用实例对它进行了简化而生动的描述,使得高深的数学理论能够被容易地理解。我们经过整理和改写特别推荐给大家阅读,希望能够对时间紧张但是又想了解它的同事有所帮助。 RSA是第一个比较转载 2015-07-17 11:13:33 · 1322 阅读 · 0 评论 -
KMP算法详解
转载:http://blog.csdn.net/joylnwang/article/details/6778316 KMP算法,是由Knuth,Morris,Pratt共同提出的模式匹配算法,其对于任何模式和目标序列,都可以在线性时间内完成匹配查找,而不会发生退化,是一个非常优秀的模式匹配算法。但是相较于其他模式匹配算法,该算法晦涩难懂,第一次接触该算法的读者往往会看得一头雾水,转载 2012-11-16 13:32:18 · 866 阅读 · 0 评论 -
学习笔记:NFA, DFA和Regex
转载:http://blog.donews.com/maverick/archive/2006/05/11/864741.aspx 网络上介绍正则表达式的文章汗牛充栋,本文则试图对regex的原理做深入一点的探究。 不当之处,望各位读者不吝指出。 要深入了解正则表达式,必须首先理解有穷自动机。 有穷自动机(Finite Automate)是用来模拟实物系统的转载 2012-11-16 17:11:11 · 1804 阅读 · 0 评论 -
从哈希存储到Bloom Filter
转载:http://blog.csdn.net/jiaomeng/article/details/1496329 先解释一下什么是哈希函数。哈希函数简单来说就是一种映射,它可取值的范围(定义域)通常很大,但值域相对较小。哈希函数所作的工作就是将一个很大定义域内的值映射到一个相对较小的值域内。 传统的哈希存储 假设要哈希的集合为S,它有n个元素。传统的哈希方法是,将哈希区域组织成h(h转载 2011-12-09 20:46:43 · 748 阅读 · 1 评论 -
大数据量,海量数据 处理方法总结
转载:http://www.cppblog.com/longzxr/archive/2010/10/24/131047.html 大数据量的问题是很多面试笔试中经常出现的问题,比如baidu google 腾讯 这样的一些涉及到海量数据的公司经常会问到。 下面的方法是我对海量数据的处理方法进行了一个一般性的总结,当然这些方法可能并不能完全覆盖所有的问题,但是这样的一些方法转载 2011-12-09 20:47:57 · 1703 阅读 · 0 评论 -
那些优雅的数据结构(1) : BloomFilter——大规模数据处理利器
转载:http://www.cnblogs.com/heaad/archive/2011/01/02/1924195.html 本文是我一个雄心勃勃的写作计划的开始: 1.Bloom Filter 2.线段树 3.树状数组 4.Trie树 5.后缀树,后缀数组 6.并查集 7.Hash表 8.B树 9.红黑树 10.堆与优先队列 BloomFil转载 2011-12-09 20:45:07 · 819 阅读 · 0 评论 -
位图排序及其应用
<br />输入:一个包含n个正整数的文件,每个正整数小于n,n等于10的7次方(一千万)。并且文件内的正整数没有重复和关联数据。<br />输出: 输入整数的升序排列<br />约束: 限制在1M左右内存,充足的磁盘空间<br /><br />假设整数占32位,1M内存可以存储大概250000个整数,第一个方法就是采用基于磁盘的合并排序算法,第二个办法就是将0-9999999切割成40个区间,分40次扫描(10000000/250000),每次读入250000个在一个区间的整数,并在内存中使用快速排序。转载 2010-10-14 12:56:00 · 1137 阅读 · 0 评论 -
单链表逆序
//已知链表的头结点head,写一个函数把这个链表逆序 ( Intel) #include using namespace std; struct Node { int data ; Node *next ; }; typedef struct Node Node ; Node* ReverseList(Node* head) { if (!head || !head->next) { return head;转载 2010-11-28 21:47:00 · 1092 阅读 · 0 评论 -
算法复杂度
<br />简介 同一问题可用不同算法解决,而一个算法的质量优劣将影响到算法乃至程序的效率。算法分析 <br /> <br />的目的在于选择合适算法和改进算法。一个算法的评价主要从时间复杂度和空间复杂度来考虑。 编辑本段1、时间复杂度<br /> (1)时间频度 <br /> 一个算法执行所耗费的时间,从理论上是不能算出来的,必须上机运行测试才能知道。但我们不可能也没有必要对每个算法都上机测试,只需知道哪个算法花费的时间多,哪个算法花费的时间少就可以了。并且一个算法花费的时间与算法中语句的执行转载 2010-11-27 21:55:00 · 642 阅读 · 0 评论