熱線電話:13121318867

登錄
首頁精彩閱讀python使用鄰接矩陣構造圖代碼示例
python使用鄰接矩陣構造圖代碼示例
2018-04-25
收藏

python使用鄰接矩陣構造圖代碼示例

這篇文章主要介紹了python使用鄰接矩陣構造圖代碼示例,具有一定參考價值,需要的朋友可以了解下。

問題
如何使用list構造圖
鄰接矩陣的方式
Python代碼示例    
# !/usr/bin/env python
# -*-encoding: utf-8-*-
# author:LiYanwei
# version:0.1
 
# 鄰接矩陣
'''
 
a---b\
|  | \
|  | c
|  | /
e---d/
 
對于無向圖頂點之間存在邊,則為1,反之則為0
 
 a b c d e
a 0 1 0 0 1
b 1 0 1 1 0
c 0 1 0 1 0
d 0 1 1 0 1
e 1 0 0 1 0
 
觀察得知對腳線對稱
 
對于有向圖,若a--->b存在,則為ab之間為1,ba為0
對于有權值的存在,可以設置相應的數值
 
缺陷:
1.對于定點多邊少的圖,構造的矩陣空間浪費
2.獲取某個頂點的鄰接頂點,需要遍歷相應的列表,找到1的頂點
 
'''
 
# 構造頂點 列表解析
N = 5
a, b, c, d, e = xrange(5)
G = [[0] * N for _ in xrange(5)]
 
# 無向圖構造邊
def addEdge(G, v1 ,v2):
  G[v1][v2] = G[v2][v1] = 1
 
addEdge(G, a, b)
addEdge(G, b, c)
addEdge(G, b, d)
addEdge(G, b, e)
addEdge(G, d, e)
addEdge(G, d, c)
 
print G
結果:    
[[0, 1, 0, 0, 0], [1, 0, 1, 1, 1], [0, 1, 0, 1, 0], [0, 1, 1, 0, 1], [0, 1, 0, 1, 0]]

總結
以上就是本文關于python使用鄰接矩陣構造圖代碼示例的全部內容,希望對大家有所幫助。

數據分析咨詢請掃描二維碼

若不方便掃碼,搜微信號:CDAshujufenxi

數據分析師資訊
更多

OK
客服在線
立即咨詢
日韩人妻系列无码专区视频,先锋高清无码,无码免费视欧非,国精产品一区一区三区无码
客服在線
立即咨詢