图的定义
class Node():
def __init__(self,value):
self.value=value #对应数据
self.enter=0 #该节点的入度
self.out=0 #该节点的出度
self.nexts=[] #由该点发散出去的边(出去的边),直接相连的点
self.edges=[] #由该点发散出去的边
'''
这个设计囊括了图的大部分内容
'''
class Edge():
def __init__(self,weight,From,To):
'''
:param weight: 该边所具有的权重
:param From: 从那个点出发
:param To: 到达那条边
'''
self.weight=weight
self.From=From
self.To=To
class Graph():
def __init__(self):
self.nodes={} #创建一个空字典里面key:int value:Node
self.edges=set() #创建一个集合里面存放每一条边,同时每条边还有对应的属性