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 相关文章推荐
如何准确判断请求是搜索引擎爬虫(蜘蛛)发出的请求
Oct 13 Python
python类:class创建、数据方法属性及访问控制详解
Jul 25 Python
Python3实现发送QQ邮件功能(html)
Dec 15 Python
用Python实现将一张图片分成9宫格的示例
Jul 05 Python
pytorch中如何使用DataLoader对数据集进行批处理的方法
Aug 06 Python
深入了解Python在HDA中的应用
Sep 05 Python
Python自动化完成tb喵币任务的操作方法
Oct 30 Python
在Sublime Editor中配置Python环境的详细教程
May 03 Python
Python Unittest原理及基本使用方法
Nov 06 Python
Django数据统计功能count()的使用
Nov 30 Python
Python约瑟夫生者死者小游戏实例讲解
Jan 04 Python
python读取excel数据并且画图的实现示例
Feb 08 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
PHP用mysql数据库存储session的代码
2010/03/05 PHP
PHP中使用glob函数实现一句话删除某个目录下的所有文件
2014/07/22 PHP
Yii2超好用的日期和时间组件(值得收藏)
2016/05/05 PHP
PHP判断JSON对象是否存在的方法(推荐)
2016/07/06 PHP
php+redis实现多台服务器内网存储session并读取示例
2017/01/12 PHP
关于IE BUG与字符串截取substr的解决办法
2013/04/10 Javascript
把jquery 的dialog和ztree结合实现步骤
2013/08/02 Javascript
自动适应iframe右边的高度
2016/12/22 Javascript
vue.js中Vue-router 2.0基础实践教程
2017/05/08 Javascript
使用Angular CLI生成 Angular 5项目教程详解
2018/03/18 Javascript
详解使用jQuery.i18n.properties实现js国际化
2018/05/04 jQuery
js实现橱窗展示效果
2020/01/11 Javascript
vue 动态生成拓扑图的示例
2021/01/03 Vue.js
Python警察与小偷的实现之一客户端与服务端通信实例
2014/10/09 Python
Python利用字典将两个通讯录文本合并为一个文本实例
2018/01/16 Python
Python pycharm 同时加载多个项目的方法
2019/01/17 Python
python实现控制COM口的示例
2019/07/03 Python
Python Django切换MySQL数据库实例详解
2019/07/16 Python
win7下 python3.6 安装opencv 和 opencv-contrib-python解决 cv2.xfeatures2d.SIFT_create() 的问题
2019/10/24 Python
python 有效的括号的实现代码示例
2019/11/11 Python
通过实例了解Python异常处理机制底层实现
2020/07/23 Python
纯CSS3实现的8种Loading动画效果
2014/07/05 HTML / CSS
size?丹麦官网:英国伦敦的球鞋精品店
2019/04/15 全球购物
美国在线家具网站:GDFStudio
2021/03/13 全球购物
私有程序集与共享程序集有什么区别
2013/04/05 面试题
《诚实与信任》教学反思
2014/04/10 职场文书
代领学位证书毕业证书委托书
2014/09/30 职场文书
初中优秀学生评语
2014/12/29 职场文书
2015年高三班主任工作总结
2015/05/21 职场文书
员工离职证明范本
2015/06/12 职场文书
2015中学教学工作总结
2015/07/22 职场文书
2016党员发展对象培训心得体会
2016/01/08 职场文书
《刺客之王:C罗全景传记》:时代从来不会亏待手艺人
2019/11/28 职场文书
MySQL 四种连接和多表查询详解
2021/07/16 MySQL
浅谈TypeScript 索引签名的理解
2021/10/16 Javascript
python3中apply函数和lambda函数的使用详解
2022/02/28 Python