import sys
class Vertex:
def __init__(self, key):
self.id = key
self.connectedTo = {}
self.distance = sys.maxsize
self.predecessor = None
self.color = 'White'
self.dicoveryTime = 0
self.finishTime = 0
def setDistance(self, d):
self.distance = d
def getDistance(self):
return self.distance
def setPred(self, p):
self.predecessor = p
def getPred(self):
return self.predecessor
def setColor(self, c):
self.color = c
def getColor(self):
return self.color
def addNeighbour(self, neighbour, weight=0):
self.connectedTo[neighbour] = weight
def __str__(self):
return str(self.id) + ' connectedTo: ' + str([x.id for x in self.connectedTo])
def getConnections(self):
return self.connectedTo.keys()
def getId(self):
return self.id
def getWeight(self, neighbour):
return self.connectedTo[neighbour]
class Graph:
def __init__(self):
self.vertexlist = {}
self.numVertices = 0
def addVertex(self, key):
self.numVertices += 1
newVertex = Vertex(key)
self.vertexlist[key] = newVertex
return newVertex
def getVertex(self, key):
if key in self.vertexlist:
return self.vertexlist[key]
else:
return None
def __contains__(self, key):
return key in self.vertexlist
def addEdge(self, start, end, weight=0):
if start not in self.vertexlist:
newvertex = self.addVertex(start)
if end not in self.vertexlist:
newvertex = self.addVertex(end)
self.vertexlist[start].addNeighbour(self.vertexlist[end], weight)
def getVerteices(self):
return self.vertexlist.keys()
def __iter__(self):
return iter(self.vertexlist.values())
圖Graph
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。
相關閱讀更多精彩內容
- 原文鏈接:https://www.cnblogs.com/SivilTaram/p/graph_neural_ne...
- 問題 使用echart展示知識圖譜時,我參照官網的demo,很快就用自己的測試數據(包含node、link )實現...
- 圖相關的論文:GNN_Papers 一些開源的圖(graph)模型 【1】Model_1: ChebNet(201...
- 學習資料: 【1】人工智能 | 圖卷積網絡介紹及進展(視頻,中文) 【2】人工智能 | 圖卷積神經網絡的變種與挑戰(zhàn)...