Python计算n*n网格生成树数目的方法,python网格,Python计算n*n网


Python计算n*n网格生成树数目的方法源码,需要用到Python math模块中的方法。这是一篇关于Python算法分析相关的文章,对于理科比较好的同学可能没什么难度。Python算法方法不是强项的朋友们,如果有遇到Python生成树数目计算之类问题的时候,可以参考下,希望对大家能有所帮助。

Python计算n*n网格生成树数目的方法源码如下:

from math import cos#导入模块方法#www.iplaypy.com#定义函数,正式代码部分开始def eigenvalues_of_laplacian(n):    ew = [2*(2-cos(i*pi/n)-cos(j*pi/n)) for i in range(n) for j in range(n)]    return ewdef num_of_spanning_trees(n):    ew = eigenvalues_of_laplacian(n)    return reduce(lambda x,y:x*y, ew[1:])/n**2

如上源码中用了一行代码的形式,对于初学者来说会比较难于理解。建议初学Python的朋友们要条理清晰的把代码写出来,尽量不要用一行搞定的形式。

其它Python算法相关文章推荐:
1、Python筛法求质数(素数)的生成器示例
2、用Python求素数的快速算法源码示例

编橙之家文章,

评论关闭