算法
furturerock
这个作者很懒,什么都没留下…
展开
-
Floyd算法-寻求最短路径
定义 Floyd算法又称为弗洛伊德算法,插点法,是一种用于寻找给定的加权图中顶点间最短路径的算法。 核心思路 通过一个图的权值矩阵求出它的每两点间的最短路径矩阵。 从图的带权邻接矩阵A=[a(i,j)] n×n开始,递归地进行n次更新,即由矩阵D(0)=A,按一个公式,构造出矩阵D(1);又用同样地公式由D(1)构造出D(2);……;最后又用同样的公式由D(n-转载 2010-05-05 21:47:00 · 2394 阅读 · 1 评论 -
BFS-广度优先搜索算法(图)
广度优先搜索算法(Breadth-First-Search),又译作宽度优先搜索,或横向优先搜索,简称BFS,是一种图形搜索算法。简单的说,BFS是从根节点开始,沿着树的宽度遍历树的节点。如果所有节点均被访问,则算法中止。广度优先搜索的实现一般采用open-closed表。特性 空间复杂度因为所有节点都必须被储存,因此BFS的空间复杂度为 O(|V| + |E|),其中 |V| 是原创 2010-05-07 20:54:00 · 70464 阅读 · 4 评论 -
最大公约数/最小公倍数-算法
最大公约数:应用欧几里得算法(即辗转相除)-a和b为2个正整数,求a和b的最大公约数的伪代码如下:int gcd(a,b) if a then exchange ab r if r=0 then return b else return gcd(b,r) 最小公倍数:求a和b原创 2010-05-12 22:31:00 · 1175 阅读 · 0 评论 -
已知有个rand7()的函数,返回1到7随机自然数,让利用这个rand7()构造rand10() 随机1~10
题目:已知有个rand7()的函数,返回1到7随机自然数,让利用这个rand7()构造rand10() 随机1~10。分析:要保证rand10()在整数1-10的均匀分布,可以构造一个1-10*n的均匀分布的随机整数区间(n为任何正整数)。假设x是这个1-转载 2011-10-07 23:52:00 · 3535 阅读 · 2 评论 -
17道经典海量数据面试题整理
1. 给定a、b两个文件,各存放50亿个url,每个url各占64字节,内存限制是4G,让你找出a、b文件共同的url?方案1:可以估计每个文件安的大小为50G×64=320G,远远大于内存限制的4G。所以不可能将其完全加载到内存中处理。考虑采取分而治之的方法。s转载 2011-10-08 01:16:51 · 1816 阅读 · 0 评论