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操作日期和时间的方法
Mar 11 Python
跟老齐学Python之一个免费的实验室
Sep 14 Python
在Python中编写数据库模块的教程
Apr 29 Python
python进程管理工具supervisor的安装与使用教程
Sep 05 Python
Python定时器实例代码
Nov 01 Python
Mac安装python3的方法步骤
Aug 09 Python
python使用hdfs3模块对hdfs进行操作详解
Jun 06 Python
记录模型训练时loss值的变化情况
Jun 16 Python
Python装饰器结合递归原理解析
Jul 02 Python
浅谈如何使用python抓取网页中的动态数据实现
Aug 17 Python
Python实现壁纸下载与轮换
Oct 19 Python
python不同版本的_new_不同点总结
Dec 09 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
smarty模板中使用get、post、request、cookies、session变量的方法
2014/04/24 PHP
phpMyAdmin自动登录和取消自动登录的配置方法
2014/05/12 PHP
thinkPHP5.0框架应用请求生命周期分析
2017/03/25 PHP
PHP实现的简单异常处理类示例
2017/05/04 PHP
Laravel下生成验证码的类
2017/11/15 PHP
js arguments.callee的应用代码
2009/05/07 Javascript
JavaScript中函数声明优先于变量声明的实例分析
2012/03/01 Javascript
用Javascript实现Windows任务管理器的代码
2012/03/27 Javascript
jQuery-serialize()输出序列化form表单值的方法
2012/12/26 Javascript
Js-$.extend扩展方法使方法参数更灵活
2013/01/15 Javascript
jQuery设置div一直在页面顶部显示的方法
2013/10/24 Javascript
使用 TypeScript 重新编写的 JavaScript 坦克大战游戏代码
2015/04/07 Javascript
jquery实现可关闭的倒计时广告特效代码
2015/09/02 Javascript
jQuery实现图片文字淡入淡出效果
2015/12/21 Javascript
深入分析node.js的异步API和其局限性
2016/09/05 Javascript
nodejs的压缩文件模块archiver用法示例
2017/01/18 NodeJs
Vue.js基础学习之class与样式绑定
2017/03/20 Javascript
Angular.JS内置服务$http对数据库的增删改使用教程
2017/05/07 Javascript
Js中async/await的执行顺序详解
2017/09/22 Javascript
vue中v-for循环选中点击的元素并对该元素添加样式操作
2020/07/17 Javascript
Vue自定义多选组件使用详解
2020/09/08 Javascript
微信小程序canvas动态时钟
2020/10/22 Javascript
python将图片文件转换成base64编码的方法
2015/03/14 Python
Python自动化测试Eclipse+Pydev 搭建开发环境
2016/08/15 Python
Python之文字转图片方法
2018/05/10 Python
浅谈python中str字符串和unicode对象字符串的拼接问题
2018/12/04 Python
Python如何省略括号方法详解
2020/03/21 Python
基于Python的接口自动化unittest测试框架和ddt数据驱动详解
2021/01/27 Python
使用javascript和HTML5 Canvas画的四渐变色播放按钮效果
2014/04/10 HTML / CSS
Lookfantastic日本官网:英国知名护肤、化妆品和头发护理购物网站
2018/04/21 全球购物
美国亚马逊旗下时尚女装网店:SHOPBOP(支持中文)
2020/10/17 全球购物
工商管理专业实习生自我鉴定
2013/09/29 职场文书
生产经理的自我评价分享
2013/11/07 职场文书
高二历史教学反思
2014/01/25 职场文书
法制宣传实施方案
2014/03/13 职场文书
药品开票员岗位职责
2015/04/15 职场文书