欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

python 無(wú)向圖表示

Python 作為一種先進(jìn)的編程語(yǔ)言,有很強(qiáng)的處理圖形數(shù)據(jù)結(jié)構(gòu)的能力。其中,無(wú)向圖是一種簡(jiǎn)單且常用的圖形數(shù)據(jù)結(jié)構(gòu)。在 Python 中,我們可以使用不同的方式來(lái)表示無(wú)向圖,比如鄰接表、鄰接矩陣等。

# 以鄰接表形式表示無(wú)向圖
class UndirectedGraph:
def __init__(self, edges):
self.adj_list = {}
for edge in edges:
a, b = edge
if a not in self.adj_list:
self.adj_list[a] = []
if b not in self.adj_list:
self.adj_list[b] = []
self.adj_list[a].append(b)
self.adj_list[b].append(a)

在上述代碼中,我們使用字典(dictionary)adj_list 來(lái)存儲(chǔ)無(wú)向圖的鄰接表表示,其中字典的鍵表示各個(gè)節(jié)點(diǎn),對(duì)應(yīng)的值是一個(gè)列表,表示該節(jié)點(diǎn)連接的其他節(jié)點(diǎn)。

# 以鄰接矩陣形式表示無(wú)向圖
class UndirectedGraph:
def __init__(self, edges, n):
self.adj_matrix = [[0] * n for _ in range(n)]
for a, b in edges:
self.adj_matrix[a][b] = 1
self.adj_matrix[b][a] = 1

在代碼中,我們使用二維列表(list)adj_matrix 來(lái)存儲(chǔ)無(wú)向圖的鄰接矩陣表示,其中列表的下標(biāo)代表節(jié)點(diǎn),對(duì)應(yīng)的元素表示該節(jié)點(diǎn)與其他節(jié)點(diǎn)是否相連。當(dāng)對(duì)應(yīng)元素為 1 時(shí)表示相連,反之則不相連。

以上兩種方法都可以有效地表示無(wú)向圖,不同的方法適用于不同的場(chǎng)合。例如,當(dāng)我們需要快速檢查兩個(gè)節(jié)點(diǎn)是否有連邊時(shí),使用鄰接矩陣是更為方便的,而鄰接表適用于節(jié)點(diǎn)很多但是連邊比較少的情況。