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编写一个模仿CPU工作的程序
Apr 16 Python
Python设计模式之门面模式简单示例
Jan 09 Python
对Python中的@classmethod用法详解
Apr 21 Python
python如何爬取个性签名
Jun 19 Python
使用Python控制摄像头拍照并发邮件
Apr 23 Python
解决Django Static内容不能加载显示的问题
Jul 28 Python
python并发编程多进程 模拟抢票实现过程
Aug 20 Python
django使用JWT保存用户登录信息
Apr 22 Python
django rest framework serializers序列化实例
May 13 Python
Python爬虫headers处理及网络超时问题解决方案
Jun 19 Python
利用python 下载bilibili视频
Nov 13 Python
python爬虫beautifulsoup解析html方法
Dec 07 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+MySQL5.0中文乱码解决方法
2006/11/20 PHP
php UTF8 文件的签名问题
2009/10/30 PHP
浅析十款PHP开发框架的对比
2013/07/05 PHP
JavaScript方法和技巧大全
2006/12/27 Javascript
JS event使用方法详解
2008/04/28 Javascript
JavaScript知识点总结(四)之逻辑OR运算符详解
2016/05/31 Javascript
基于JavaScript实现鼠标箭头移动图片跟着移动
2016/08/30 Javascript
Vue.js实现一个漂亮、灵活、可复用的提示组件示例
2017/03/17 Javascript
Vue.js简易安装和快速入门(第二课)
2017/10/17 Javascript
jQuery实现定时隐藏对话框的方法分析
2018/02/12 jQuery
vue-cli3 karma单元测试的实现
2019/01/18 Javascript
微信小程序封装自定义弹窗的实现代码
2019/05/08 Javascript
vue - vue.config.js中devServer配置方式
2019/10/30 Javascript
Vue实现星级评价效果实例详解
2019/12/30 Javascript
微信小程序实现锚点跳转
2020/11/23 Javascript
[01:32]2014DOTA2西雅图邀请赛 CIS我们有信心进入正赛
2014/07/08 DOTA
python求众数问题实例
2014/09/26 Python
python实现模拟按键,自动翻页看u17漫画
2015/03/17 Python
python根据出生日期返回年龄的方法
2015/03/26 Python
python通过文件头判断文件类型
2015/10/30 Python
Django使用httpresponse返回用户头像实例代码
2018/01/26 Python
Python3数据库操作包pymysql的操作方法
2018/07/16 Python
Python面向对象之反射/自省机制实例分析
2018/08/24 Python
Python中垃圾回收和del语句详解
2018/11/15 Python
在Qt中正确的设置窗体的背景图片的几种方法总结
2019/06/19 Python
PyTorch加载预训练模型实例(pretrained)
2020/01/17 Python
使用遗传算法求二元函数的最小值
2020/02/11 Python
python 基于Apscheduler实现定时任务
2020/12/15 Python
可以随进度显示不同颜色的css3进度条分享
2014/04/11 HTML / CSS
HTML5各种头部meta标签的功能(推荐)
2017/03/13 HTML / CSS
大都会艺术博物馆商店:The Met Store
2018/06/22 全球购物
旅游活动总结
2014/08/27 职场文书
物业项目经理岗位职责
2015/04/01 职场文书
青年干部培训班学习心得体会
2016/01/06 职场文书
红灯733-1型14管5波段半导体收音机
2021/04/22 无线电
详细聊聊MySQL中慢SQL优化的方向
2021/08/30 MySQL