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 21 Python
Python使用pymysql小技巧
Jun 04 Python
Python设计模式之命令模式简单示例
Jan 10 Python
python实现人人自动回复、抢沙发功能
Jun 08 Python
Django项目之Elasticsearch搜索引擎的实例
Aug 21 Python
python下载库的步骤方法
Oct 12 Python
Pytorch使用MNIST数据集实现CGAN和生成指定的数字方式
Jan 10 Python
python GUI库图形界面开发之PyQt5日期时间控件QDateTimeEdit详细使用方法与实例
Feb 27 Python
Python装饰器实现方法及应用场景详解
Mar 26 Python
Python Tricks 使用 pywinrm 远程控制 Windows 主机的方法
Jul 21 Python
10款最佳Python开发工具推荐,每一款都是神器
Oct 15 Python
Django 如何实现文件上传下载
Apr 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检测图片木马多进制编程实践
2013/04/11 PHP
输入值/表单提交参数过滤有效防止sql注入的方法
2013/12/25 PHP
php实现的任意进制互转类分享
2015/07/07 PHP
PHP实现的简单网络硬盘
2015/07/29 PHP
php 参数过滤、数据过滤详解
2015/10/26 PHP
php验证手机号码
2015/11/11 PHP
php实现基于PDO的预处理示例
2017/03/28 PHP
PHP实现随机发放扑克牌
2020/04/21 PHP
xmlHTTP实例
2006/10/24 Javascript
jquery解析JSON数据示例代码
2014/03/17 Javascript
酷炫jQuery全屏3D焦点图动画效果
2016/03/22 Javascript
微信小程序适配iphoneX的实现方法
2018/09/18 Javascript
Vue源码探究之状态初始化
2018/11/14 Javascript
浅谈javascript错误处理
2019/08/11 Javascript
微信小程序 导入图标实现过程详解
2019/10/11 Javascript
javascript设计模式 ? 享元模式原理与用法实例分析
2020/04/15 Javascript
django 自定义用户user模型的三种方法
2014/11/18 Python
详解Python的Django框架中的通用视图
2015/05/04 Python
python各种语言间时间的转化实现代码
2016/03/23 Python
python装饰器初探(推荐)
2016/07/21 Python
python指定写入文件时的编码格式方法
2018/06/07 Python
Python编程flask使用页面模版的方法
2018/12/28 Python
对dataframe数据之间求补集的实例详解
2019/01/30 Python
python实现弹跳小球
2019/05/13 Python
python numpy矩阵信息说明,shape,size,dtype
2020/05/22 Python
python中怎么表示空值
2020/06/19 Python
python实现马丁策略回测3000只股票的实例代码
2021/01/22 Python
阿根廷网上配眼镜:SmartBuyGlasses阿根廷
2016/08/19 全球购物
Boutique 1美国:阿联酋奢侈时尚零售商
2017/10/16 全球购物
PHP中如何使用Cookie
2015/10/28 面试题
几个Linux面试题笔试题
2012/12/01 面试题
产品陈列协议书(标准版)
2014/09/17 职场文书
教师岗位职责范本
2015/04/02 职场文书
护士旷工检讨书
2015/08/15 职场文书
MySQL 四种连接和多表查询详解
2021/07/16 MySQL
GO语言异常处理分析 err接口及defer延迟
2022/04/14 Golang