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


Posted in Python onNovember 10, 2017

问题

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

Python 相关文章推荐
python中的内置函数getattr()介绍及示例
Jul 20 Python
Python利用matplotlib生成图片背景及图例透明的效果
Apr 27 Python
PyGame贪吃蛇的实现代码示例
Nov 21 Python
python截取两个单词之间的内容方法
Dec 25 Python
对python中的try、except、finally 执行顺序详解
Feb 18 Python
python使用matplotlib绘制雷达图
Oct 18 Python
解决Python import docx出错DLL load failed的问题
Feb 13 Python
Python实现子类调用父类的初始化实例
Mar 12 Python
Python下载网易云歌单歌曲的示例代码
Aug 12 Python
浅析PyCharm 的初始设置(知道)
Oct 12 Python
python爬虫搭配起Bilibili唧唧的流程分析
Dec 01 Python
Pytorch可视化的几种实现方法
Jun 10 Python
python先序遍历二叉树问题
Nov 10 #Python
简单了解OpenCV是个什么东西
Nov 10 #Python
python的文件操作方法汇总
Nov 10 #Python
python使用正则表达式的search()函数实现指定位置搜索功能
Nov 10 #Python
Python3调用微信企业号API发送文本消息代码示例
Nov 10 #Python
Python实现图片滑动式验证识别方法
Nov 09 #Python
浅谈python中的占位符
Nov 09 #Python
You might like
索尼SONY ICF-SW7600GR电路分析与改良
2021/03/02 无线电
php whois查询API制作方法
2011/06/23 PHP
CI框架给视图添加动态数据
2014/12/01 PHP
PHP表单验证内容是否为空的实现代码
2016/11/14 PHP
PHP SFTP实现上传下载功能
2017/07/26 PHP
jquery 页面全选框实践代码
2010/04/02 Javascript
原生js实现跨浏览器获取鼠标按键的值
2013/04/08 Javascript
js中Image对象以及对其预加载处理示例
2013/11/20 Javascript
a标签click和href执行顺序探讨
2014/06/23 Javascript
javascript数组对象常用api函数小结(连接,插入,删除,反转,排序等)
2016/09/20 Javascript
codeMirror插件使用讲解
2017/01/16 Javascript
NodeJS收发GET和POST请求的示例代码
2017/08/25 NodeJs
nodejs用gulp管理前端文件方法
2018/06/24 NodeJs
vue导出html、word和pdf的实现代码
2018/07/31 Javascript
详解vue父子组件关于模态框状态的绑定方案
2019/06/05 Javascript
Element Alert警告的具体使用方法
2020/07/27 Javascript
为Python的web框架编写前端模版的教程
2015/04/30 Python
Python三种遍历文件目录的方法实例代码
2018/01/19 Python
python 寻找离散序列极值点的方法
2019/07/10 Python
解决Django migrate不能发现app.models的表问题
2019/08/31 Python
tensorflow实现tensor中满足某一条件的数值取出组成新的tensor
2020/01/04 Python
python GUI库图形界面开发之PyQt5 UI主线程与耗时线程分离详细方法实例
2020/02/26 Python
HTML5 文件域+FileReader 分段读取文件并上传到服务器
2017/10/23 HTML / CSS
TripAdvisor德国:全球领先的旅游网站
2017/12/07 全球购物
会计学自我鉴定
2014/02/06 职场文书
花店创业计划书范文
2014/02/07 职场文书
银行贷款承诺书
2014/03/29 职场文书
2014年安全生产工作总结
2014/11/13 职场文书
求职自我推荐信
2015/03/24 职场文书
个人借条范本
2015/05/25 职场文书
干部考核工作总结2015
2015/07/24 职场文书
2016大学生就业指导课心得体会
2016/01/15 职场文书
《认识年月日》教学反思
2016/02/19 职场文书
2019年最新七夕唯美祝福语(60条)
2019/07/22 职场文书
oracle DGMGRL ORA-16603报错的解决方法(DG Broker)
2021/04/06 Oracle
MySQL为id选择合适的数据类型
2021/06/07 MySQL