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进程管理工具supervisor使用实例
Sep 17 Python
Python入门篇之编程习惯与特点
Oct 17 Python
简单介绍Python中用于求最小值的min()方法
May 15 Python
matplotlib 纵坐标轴显示数据值的实例
May 25 Python
python3实现域名查询和whois查询功能
Jun 21 Python
基于Python列表解析(列表推导式)
Jun 23 Python
python hbase读取数据发送kafka的方法
Dec 27 Python
Python骚操作之动态定义函数
Mar 26 Python
Python制作词云图代码实例
Sep 09 Python
python给图像加上mask,并提取mask区域实例
Jan 19 Python
Pandas缺失值2种处理方式代码实例
Jun 13 Python
Python机器学习之基于Pytorch实现猫狗分类
Jun 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 中的输出缓冲
2006/12/21 PHP
表单复选框向PHP传输数据的代码
2007/11/13 PHP
php自定义函数截取汉字长度
2014/05/15 PHP
PHP反射机制用法实例
2014/08/28 PHP
PHP里面把16进制的图片数据显示在html的img标签上(实现方法)
2017/05/02 PHP
再次更新!MSClass (Class Of Marquee Scroll通用不间断滚动JS封装类 Ver 1.6)
2007/02/05 Javascript
从阿里妈妈发现的几个不错的表单验证函数
2007/09/21 Javascript
两个比较有用的Javascript工具函数代码
2010/02/17 Javascript
nullJavascript中创建对象的五种方法实例
2013/05/07 Javascript
javascript中取前n天日期的两种方法分享
2014/01/26 Javascript
利用yarn实现一个webpack+react种子
2016/10/25 Javascript
详解JS-- 浮点数运算处理
2016/11/28 Javascript
Angular2关于@angular/cli默认端口号配置的问题
2017/07/15 Javascript
React-router v4 路由配置方法小结
2017/08/08 Javascript
vue mixins组件复用的几种方式(小结)
2017/09/06 Javascript
vue父组件向子组件传递多个数据的实例
2018/03/01 Javascript
Vue2.0 实现移动端图片上传功能
2018/05/30 Javascript
Vue中"This dependency was not found"问题的解决方法
2018/06/19 Javascript
简述JS浏览器的三种弹窗
2018/07/15 Javascript
vue3.0 CLI - 3.2 路由的初级使用教程
2018/09/20 Javascript
微信小程序实现定位及到指定位置导航的示例代码
2019/08/20 Javascript
使用Python生成url短链接的方法
2015/05/04 Python
利用python获取某年中每个月的第一天和最后一天
2016/12/15 Python
numpy中实现二维数组按照某列、某行排序的方法
2018/04/04 Python
python3.x实现发送邮件功能
2018/05/22 Python
Vue的el-scrollbar实现自定义滚动
2018/05/29 Python
Django app配置多个数据库代码实例
2019/12/17 Python
使用Django实现把两个模型类的数据聚合在一起
2020/03/28 Python
scrapy-splash简单使用详解
2021/02/21 Python
HTML5的video标签的浏览器兼容性增强方案分享
2016/05/19 HTML / CSS
介绍一下Java中标识符的命名规则
2014/02/03 面试题
优质的学校老师推荐信
2013/10/28 职场文书
小学秋季运动会报道稿
2014/09/30 职场文书
安徽导游词
2015/02/12 职场文书
win10安装配置nginx的过程
2021/03/31 Servers
基于Python和openCV实现图像的全景拼接详细步骤
2021/10/05 Python