加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python使用邻接矩阵构造图代码示例

发布时间:2020-12-17 07:55:19 所属栏目: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 ea 0 1 0 0 1b 1 0 1 1

问题

如何使用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,c)
addEdge(G,d)
addEdge(G,e)
addEdge(G,c)

print G

结果:

[[0,1,0],[1,1],[0,0]]

总结

以上就是本文关于python使用邻接矩阵构造图代码示例的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站:python先序遍历二叉树问题、Python3调用微信企业号API发送文本消息代码示例、python实现人脸识别代码等,有什么问题可以随时留言,小编会及时回复大家的。感谢朋友们对本站的支持!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读