- 博客(2)
- 资源 (1)
- 收藏
- 关注
原创 python 辗转相除法 最大公约数
对于辗转相除法的证明:https://blog.csdn.net/er111er/article/details/79251895 原作者写得很棒。 def gcd(a,b): return a if b==0 else gcd(b,a%b) 首先核心在于:a和b的最大公约数等价于b和a对b求余的最大公约数。 感性理解,假设存在最大公约数M,那么a是M的倍数,b是M的倍数,那么a和b的线性组合也是M的倍数。 所以a对b的余数是线性组合的一种,那么也是M的倍数,更重要的是a对b的余数小于a和b(a&g
2020-12-04 20:30:12 928
原创 python 堆优化的迪杰斯特拉最短路径算法(Dijkstra‘s)
def DIJ(self, lengths: List[List[int]], N: int, K: int) -> int: #lengths为权值矩阵,N为节点个数,K为出发节点 #例如lengths = [[2,1,1],[2,3,1],[3,4,1]],表示从2到1路径长度为1,从2到3路径长度为1 graph = collections.defaultdict(list) for x,y,z in lengths: ...
2020-12-02 11:20:24 944 3
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人