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爬取51job中hr的邮箱
May 14 Python
浅析Python中MySQLdb的事务处理功能
Sep 21 Python
Python KMeans聚类问题分析
Feb 23 Python
利用python如何在前程无忧高效投递简历
May 07 Python
OpenCV图像颜色反转算法详解
May 13 Python
pytorch多GPU并行运算的实现
Sep 27 Python
python十进制转二进制的详解
Feb 07 Python
python列表返回重复数据的下标
Feb 10 Python
Python中import导入不同目录的模块方法详解
Feb 18 Python
Python字符串格式化常用手段及注意事项
Jun 17 Python
Python实现ElGamal加密算法的示例代码
Jun 19 Python
python 如何使用find和find_all爬虫、找文本的实现
Oct 16 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 数据结构 算法 三元组 Triplet
2011/07/02 PHP
PHP 线程安全与非线程安全版本的区别深入解析
2013/08/06 PHP
php获取域名的google收录示例
2014/03/24 PHP
THINKPHP内容分页代码分享
2015/01/14 PHP
PHP多线程模拟实现秒杀抢单
2018/02/07 PHP
thinkPHP5框架auth权限控制类与用法示例
2018/06/12 PHP
PHP中抽象类,接口功能、定义方法示例
2019/02/26 PHP
比较简单的一个符合web标准的JS调用flash方法
2007/11/29 Javascript
js利用与或运算符优先级实现if else条件判断表达式
2010/04/15 Javascript
javascript拓展DOM操作 prependChild insertAfert
2010/11/17 Javascript
JavaScript初学者应注意的七个细节小结
2012/01/30 Javascript
用js来获取上传的文件名纯粹是为了美化而用
2013/10/23 Javascript
JS:window.onload的使用介绍
2013/11/13 Javascript
Jquery中巧用Ajax的beforeSend方法
2016/01/20 Javascript
js获取新浪天气接口的实现代码
2016/06/06 Javascript
BootStrap 实现各种样式的进度条效果
2016/12/07 Javascript
angular双向绑定模拟探索
2016/12/26 Javascript
如何学JavaScript?前辈的经验之谈
2016/12/28 Javascript
js 将input框中的输入自动转化成半角大写(税号输入框)
2017/02/16 Javascript
JavaScript基于replace+正则实现ES6的字符串模版功能
2017/04/25 Javascript
JavaScript正则表达式函数总结(常用)
2018/02/22 Javascript
Angular 组件之间的交互的示例代码
2018/03/24 Javascript
Angular模版驱动表单的使用总结
2018/05/05 Javascript
[02:54]DOTA2亚洲邀请赛 VG战队出场宣传片
2015/02/07 DOTA
python海龟绘图实例教程
2014/07/24 Python
Python实现的单向循环链表功能示例
2017/11/10 Python
selenium+python自动化测试之使用webdriver操作浏览器的方法
2019/01/23 Python
Tensorflow读取并输出已保存模型的权重数值方式
2020/01/04 Python
Matplotlib 折线图plot()所有用法详解
2020/07/28 Python
美国最好的保健品打折网店:Swanson
2017/08/04 全球购物
英国内衣连锁店:Boux Avenue
2018/01/24 全球购物
俄罗斯披萨、寿司和面食送货到家服务:2 Берега
2019/12/15 全球购物
晚会邀请函范文
2014/01/24 职场文书
希特勒经典演讲稿
2014/05/19 职场文书
群众路线领导班子整改方案
2014/10/25 职场文书
职业规划从高考志愿专业选择开始
2019/08/08 职场文书