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定时检查启动某个exe程序适合检测exe是否挂了
Jan 21 Python
python中requests模块的使用方法
Apr 08 Python
深入解析Python中的变量和赋值运算符
Oct 12 Python
Python基于QRCode实现生成二维码的方法【下载,安装,调用等】
Jul 11 Python
Python 反转字符串(reverse)的方法小结
Feb 20 Python
Python中常见的异常总结
Feb 20 Python
python处理csv中的空值方法
Jun 22 Python
python浪漫表白源码
Apr 05 Python
wxPython实现带颜色的进度条
Nov 19 Python
python 类之间的参数传递方式
Dec 20 Python
Python中包的用法及安装
Feb 11 Python
Python HTMLTestRunner测试报告view按钮失效解决方案
May 25 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
人大复印资料处理程序_补充篇
2006/10/09 PHP
php检测网页是否被百度收录的函数代码
2013/10/09 PHP
用函数式编程技术编写优美的 JavaScript
2006/11/25 Javascript
JavaScript几种形式的树结构菜单
2010/05/10 Javascript
关于js获取radio和select的属性并控制的代码
2011/05/12 Javascript
关于js拖拽上传 [一个拖拽上传修改头像的流程]
2011/07/13 Javascript
子窗体与父窗体传值示例js代码
2013/08/01 Javascript
js判断浏览器是否支持html5
2014/08/17 Javascript
原生javascript实现拖动元素示例代码
2014/09/01 Javascript
jQuery中outerHeight()方法用法实例
2015/01/19 Javascript
NodeJs中的VM模块详解
2015/05/06 NodeJs
js中跨域方法原理详解
2015/07/19 Javascript
JavaScript代码判断点击第几个按钮
2015/12/13 Javascript
jQuery旋转插件jqueryrotate用法详解
2016/10/13 Javascript
JS ES6多行字符串与连接字符串的表示方法
2017/04/26 Javascript
深入理解jquery的$.extend()、$.fn和$.fn.extend()
2017/07/08 jQuery
JS 实现分页打印功能
2018/05/16 Javascript
解决mpvue + vuex 开发微信小程序vuex辅助函数mapState、mapGetters不可用问题
2018/08/03 Javascript
微信小程序实现通过js操作wxml的wxss属性示例
2018/12/06 Javascript
javascript之分片上传,断点续传的实际项目实现详解
2019/09/05 Javascript
详解简单易懂的 ES6 Iterators 指南和示例
2019/09/24 Javascript
vue input标签通用指令校验的实现
2019/11/05 Javascript
Javascript操作select控件代码实例
2020/02/14 Javascript
js实现移动端轮播图滑动切换
2020/12/21 Javascript
[04:30]显微镜下的DOTA2第五期——拉比克
2013/09/26 DOTA
python+Django+apache的配置方法详解
2016/06/01 Python
Python处理json字符串转化为字典的简单实现
2016/07/07 Python
实现python版本的按任意键继续/退出
2016/09/26 Python
Python实现的序列化和反序列化二叉树算法示例
2019/03/02 Python
python利用7z批量解压rar的实现
2019/08/07 Python
python web框架中实现原生分页
2019/09/08 Python
python 读取串口数据的示例
2020/11/09 Python
cosme官方海外旗舰店:日本最大化妆品和美容产品的综合口碑网站
2017/01/18 全球购物
春节慰问信范文
2015/02/15 职场文书
亮剑观后感
2015/06/05 职场文书
如何制作自己的原生JavaScript路由
2021/05/05 Javascript