玩蛇网提供最新Python编程技术信息以及Python资源下载!
python零基础培训

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

python 培训

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

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

from math import cos
#导入模块方法
#www.iplaypython.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 ew

def 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求素数的快速算法源码示例

站长推荐阅读相关内容:
linux基础入门教程

玩蛇网文章,转载请注明出处和文章网址:http://www.iplaypython.com/code/algorithm/a2598.html [复制]



微信扫描下图可直接关注Python公众号

玩蛇网Python QQ群,欢迎加入: ① 279974227 玩蛇网Python新手群
修订日期:2016年01月11日 - 14时02分10秒 发布自玩蛇网

我要分享到:
评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
相关文章推荐
别人正在看
特别推荐
站长推荐:
去顶部去底部