Python实现两个图的交运算、并运算、差运算、对称差运算、联运算、积图、合成图

Python实现两个图的交运算、并运算、差运算、对称差运算、联运算、积图、合成图
用python随机生成两张图G1,G2
Python实现两个图的交运算、并运算、差运算、对称差运算、联运算、积图、合成图_第1张图片Python实现两个图的交运算、并运算、差运算、对称差运算、联运算、积图、合成图_第2张图片

import networkx as nx
import matplotlib.pyplot as plt
import numpy as np
from numpy import random


G1 = nx.Graph()
Matrix1 = np.array(random.randint((2),size=(50,50)))
#print(Matrix)
for i in range(len(Matrix1)):
    for j in range(len(Matrix1)):
        if Matrix1[i, j]!= 0:
          G1.add_edge(i, j)
nx.draw_networkx(G1)
plt.title("G1")
plt.show()



G2= nx.Graph()
Matrix2 = np.array(random.randint((2),size=(50,50)))
for i in range(len(Matrix2)):
    for j in range(len(Matrix2)):
        if Matrix2[i,j]!=0:
          G2.add_edge(i, j)
nx.draw_networkx(G2)
plt.title("G2")
plt.show()



np.union1d(Matrix1,Matrix2)
plt.title("G1与G2的并运算")
plt.show()
np.intersect1d(Matrix1,Matrix2, assume_unique=True)
plt.title("G1与G2的交运算")
plt.show()
np.setdiff1d(Matrix1,Matrix2, assume_unique=True)
plt.title("G1与G2的差运算")
plt.show()
np.setdiff1d(Matrix1,Matrix2, assume_unique=True)
plt.title("G2与G1的差运算")
plt.show()
Matrix1^Matrix2
plt.title("G1与G2的对称差运算")
plt.show()
Matrix1+Matrix2
plt.title("G1与G2的联运算")
plt.show()
Matrix1*Matrix2
plt.title("G1与G2的积运算")
plt.show()
Matrix1[Matrix2]
plt.title("G1与G2的合成运算")
plt.show()

Python实现两个图的交运算、并运算、差运算、对称差运算、联运算、积图、合成图_第3张图片Python实现两个图的交运算、并运算、差运算、对称差运算、联运算、积图、合成图_第4张图片Python实现两个图的交运算、并运算、差运算、对称差运算、联运算、积图、合成图_第5张图片Python实现两个图的交运算、并运算、差运算、对称差运算、联运算、积图、合成图_第6张图片Python实现两个图的交运算、并运算、差运算、对称差运算、联运算、积图、合成图_第7张图片Python实现两个图的交运算、并运算、差运算、对称差运算、联运算、积图、合成图_第8张图片Python实现两个图的交运算、并运算、差运算、对称差运算、联运算、积图、合成图_第9张图片Python实现两个图的交运算、并运算、差运算、对称差运算、联运算、积图、合成图_第10张图片

你可能感兴趣的:(图论)