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进阶教程之模块(module)介绍
Aug 30 Python
Python常用模块介绍
Nov 21 Python
将Python的Django框架与认证系统整合的方法
Jul 24 Python
Python实现优先级队列结构的方法详解
Jun 02 Python
Python 利用scrapy爬虫通过短短50行代码下载整站短视频
Oct 29 Python
python儿童学游戏编程知识点总结
Jun 03 Python
Python使用百度api做人脸对比的方法
Aug 28 Python
pandas-resample按时间聚合实例
Dec 27 Python
Python编程快速上手——Excel表格创建乘法表案例分析
Feb 28 Python
python开发实例之python使用Websocket库开发简单聊天工具实例详解(python+Websocket+JS)
Mar 18 Python
python操作toml文件的示例代码
Nov 27 Python
python工具快速为音视频自动生成字幕(使用说明)
Jan 27 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
三国漫画《火凤燎原》宣布动画化PV放出 预计2020年播出
2020/03/08 国漫
解决php的“It is not safe to rely on the system’s timezone settings”问题
2015/10/08 PHP
Yii2框架dropDownList下拉菜单用法实例分析
2016/07/18 PHP
Document 对象的常用方法
2009/07/31 Javascript
js post方式传递提交的实现代码
2010/05/31 Javascript
javascript确认框的三种使用方法
2013/12/17 Javascript
jQuery实现动画效果的简单实例
2014/01/27 Javascript
使用JS实现jQuery的addClass, removeClass, hasClass函数功能
2014/10/31 Javascript
JavaScript操作select元素和option的实例代码
2016/01/29 Javascript
js操作DOM--添加、删除节点的简单实例
2016/07/08 Javascript
微信小程序 wx:for的使用实例详解
2017/04/27 Javascript
详解vue项目优化之按需加载组件-使用webpack require.ensure
2017/06/13 Javascript
JQuery EasyUI 结合ztrIee的后台页面开发实例
2017/09/01 jQuery
初学者AngularJS的环境搭建过程
2017/10/27 Javascript
实例教学如何写vue插件
2017/11/30 Javascript
js中Object.defineProperty()方法的不详解
2018/07/09 Javascript
解决webpack+Vue引入iView找不到字体文件的问题
2018/09/28 Javascript
jquery插件实现轮播图效果
2020/10/19 jQuery
Python实现读取邮箱中的邮件功能示例【含文本及附件】
2017/08/05 Python
python opencv 简单阈值算法的实现
2019/08/04 Python
Python 使用 docopt 解析json参数文件过程讲解
2019/08/13 Python
pycharm激活码有效到2020年11月底
2020/09/18 Python
CSS3 选择器 伪类选择器介绍
2012/01/21 HTML / CSS
html5实现多文件的上传示例代码
2014/02/13 HTML / CSS
美国最好的葡萄酒网上商店:Wine Library
2019/11/02 全球购物
岳父生日宴会答谢词
2014/01/13 职场文书
档案保密承诺书
2014/06/03 职场文书
工作说明书格式
2014/07/29 职场文书
村创先争优活动总结
2014/08/28 职场文书
2014学习优秀共产党员先进事迹材料思想汇报
2014/09/14 职场文书
党建工作整改措施
2014/10/28 职场文书
北京颐和园导游词
2015/01/30 职场文书
鸟的天堂导游词
2015/01/31 职场文书
2015年公务员个人工作总结
2015/04/24 职场文书
小学校本教研总结
2015/08/13 职场文书
nginx简单配置多个server的方法
2021/03/31 Servers