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 ew

def num_of_spanning_trees(n):

ew = eigenvalues_of_laplacian(n)

return reduce(lambda x,y:x*y, ew[1:])/n**2

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

玩蛇网文章,转载请注明出处和文章网址:https://www.iplaypy.com/code/algorithm/a2598.html

相关文章 Recommend

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值