当前位置 博文首页 > weixin_44019225的博客:python制作DAG图,生成邻接矩阵

    weixin_44019225的博客:python制作DAG图,生成邻接矩阵

    作者:[db:作者] 时间:2021-09-05 19:15

    主要方法是运用Top排序倒退回来,这里我考虑到节点和和边内容的一些关系,假设有n个节点,这里控制边的个数为[n-1,(n*(n-1)/2+1]

    from random import randint as rd
    import numpy as np
    def DataMake():
        n=int(input("请输入设置的节点数:"))
        node=range(1,n+1)
        node=list(node)
        m=rd(n-1,(n*(n-1))/2+1)
        DAG=np.zeros((n,n))
        for i in range(0,m):
            p1=rd(1,n-1)
            p2=rd(p1+1,n)
            x=node[p1-1]
            y=node[p2-1]
            l=np.random.randint(10,20)
            if DAG[x-1][y-1]!=0:
                continue
            else:
                DAG[x-1][y-1]=l
        print(DAG)
        np.savetxt("DAG.txt",DAG,fmt='%.2f')
    DataMake()
    
    cs