Prim算法1.概览普里姆算法(Prim算法),图论中的一种算法,可在加权连通图里搜索最小生成树。意即由此算法搜索到的边子集所构成的树中,不但包括了连通图里的所有顶点(英语:Vertex
(graph theory)),且其所有边的权值之和亦为最小。该算法于1930年由捷克数学家沃伊捷赫·亚尔尼克(...
分类:
其他好文 时间:
2014-05-06 08:47:25
阅读次数:
275
大意就是: 在1到在10的9次方中,找到各个位数和为固定值s的数的个数,
首先我们确定最高位的个数,为1到9; 以后的各位为0,到9; 运用递归的思想,n位数有n-1位数生成 f(n)(s) +=f(n-1)(s-k)(k=0~9)
可以学习背包问题,直接降到一维表示,注意规划方向,从高到底。 pa...
分类:
其他好文 时间:
2014-05-06 01:10:36
阅读次数:
254
1 问题描述这是从《编程珠玑(第 2 版)》的第 8
章“算法设计技术”中看到的一个问题。问题的描述是这样的,“问题的输入是具有 n 个浮点数的向量
x,输出是输入向量的任何连续子向量中的最大和。例如,如果输入向量包含下面 10个元素:(31,-41,59,26,-53,97,-93,-23,84)...
分类:
其他好文 时间:
2014-05-06 01:08:48
阅读次数:
277
这个题目的递归解法是容易的,但有大量的重复计算,如果不存在没有解码的子串的话,会是指数级的时间复杂度。然而,我们能够通过记录已经计算过的子问题,来降低重复计算,于是有了改进的版本一。但版本一种需要O(n)的空间复杂度。进一步观察问题,发现递推关系其实比较像斐波那契数列,不同之处在于递推关系中的求和是...
分类:
其他好文 时间:
2014-05-06 01:06:01
阅读次数:
361
现在普通PC平台上面多核处理器的普及,让我们领教了能够利用多核进行并行计算的软件的处理能力,同时继承更多地核心正是当前处理器发展的趋势。但是作为一个.NET开发人员,是否有时候会发现你的程序占用了其中一个核心的大部分运行时间,甚至达到了100%,除了继续优化处理问题的算法。那么还有方法能够利用CPU...
分类:
Web程序 时间:
2014-05-06 00:56:19
阅读次数:
329
方法一:DFS递归,判断每一个是否为回文数1,首先要有一个判断字符串是否是回文的函数。容易实现,字符串从两边同时往中间走,看字符是否相同;2,深度优先搜索思想对字符串进行遍历。得到结果。例如,s
= "abacd"; 需要对“a”“ad”“aba”“abac”“abacd”进行深度优先搜索。深度搜索...
分类:
其他好文 时间:
2014-05-06 00:52:34
阅读次数:
388
加群看见的但是计算好慢,谁有更优的算法,麻烦说一下。factor=[]for x in
xrange(1, 987654//2+1): if 987654%x==0: factor.append(x)sum=0for y in xrange(1,
1000000000): ...
分类:
编程语言 时间:
2014-05-06 00:37:50
阅读次数:
851
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=1312此题与油田那题很像是练习深搜的好题,题意是从“@”开始,遍历整个图,找到连接的
“.”有多少个但要考虑变化,简单处理下就行了,主要是斜角的不要了,而且判断结束方式也不一样具体看代码吧#include...
分类:
其他好文 时间:
2014-05-06 00:36:02
阅读次数:
301
Floyd算法所有顶点对之间的最短路径问题是:对于给定的有向网络G=(V,E),要对G中任意两个顶点v,w(v不等于w),找出v到w的最短路径。当然我们可以n次执行DIJKSTRA算法,用FLOYD则更为直接,两种方法的时间复杂度都是一样的。1.定义概览Floyd-Warshall算法(Floyd-...
分类:
其他好文 时间:
2014-05-06 00:34:06
阅读次数:
333
先做不翻转的深度搜索,然后翻转当前的比特位,再递归地深度搜索。
分类:
其他好文 时间:
2014-05-06 00:17:16
阅读次数:
220