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小技巧分享
Nov 22 Python
详解Python的迭代器、生成器以及相关的itertools包
Apr 02 Python
利用Python实现Windows定时关机功能
Mar 21 Python
使用python实现http及ftp服务进行数据传输的方法
Oct 26 Python
python 划分数据集为训练集和测试集的方法
Dec 11 Python
Python单元测试unittest的具体使用示例
Dec 17 Python
基于Python解密仿射密码
Oct 21 Python
python深copy和浅copy区别对比解析
Dec 26 Python
python保留小数位的三种实现方法
Jan 07 Python
Python多线程Threading、子线程与守护线程实例详解
Mar 24 Python
python开发实时可视化仪表盘的示例
May 07 Python
opencv深入浅出了解机器学习和深度学习
Mar 17 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高手需要要掌握的知识点
2014/08/21 PHP
PHP实现十进制、二进制、八进制和十六进制转换相关函数用法分析
2017/04/25 PHP
比较详细的javascript对象的property和prototype是什么一种关系
2007/08/06 Javascript
各浏览器对click方法的支持差异小结
2011/07/31 Javascript
Function.prototype.call.apply结合用法分析示例
2013/07/03 Javascript
js和jquery如何获取图片真实的宽度和高度
2014/09/28 Javascript
谈谈encodeURI和encodeURIComponent以及escape的区别与应用
2015/11/24 Javascript
jQuery使用$.ajax进行异步刷新的方法(附demo下载)
2015/12/04 Javascript
jquery日历插件datepicker用法分析
2016/01/22 Javascript
Bootstrap每天必学之按钮(Button)插件
2016/04/25 Javascript
深入学习js瀑布流布局
2016/10/14 Javascript
bootstrap导航条实现代码
2016/12/28 Javascript
详解VUE的状态控制与延时加载刷新
2017/03/27 Javascript
关于 angularJS的一些用法
2017/11/29 Javascript
JS基于ES6新特性async await进行异步处理操作示例
2019/02/02 Javascript
封装一下vue中的axios示例代码详解
2020/02/16 Javascript
python中的__init__ 、__new__、__call__小结
2014/04/25 Python
使用url_helper简化Python中Django框架的url配置教程
2015/05/30 Python
用Q-learning算法实现自动走迷宫机器人的方法示例
2019/06/03 Python
Python实现直方图均衡基本原理解析
2019/08/08 Python
Django自定义用户表+自定义admin后台中的字段实例
2019/11/18 Python
python opencv实现gif图片分解的示例代码
2019/12/13 Python
Python HTMLTestRunner测试报告view按钮失效解决方案
2020/05/25 Python
PyCharm2020.1.1与Python3.7.7的安装教程图文详解
2020/08/07 Python
css3 flex实现div内容水平垂直居中的几种方法
2020/03/27 HTML / CSS
Merrell迈乐澳大利亚网站:购买户外登山鞋
2017/05/28 全球购物
美国网上鞋子零售商:Dr. Scholl’s Shoes
2017/11/17 全球购物
物业总经理岗位职责
2014/02/28 职场文书
大学班级学风建设方案
2014/05/01 职场文书
学校安全生产月活动总结
2014/07/05 职场文书
优秀团员事迹材料1500字
2014/08/31 职场文书
2015年资料员工作总结
2015/04/25 职场文书
2016年社会主义核心价值观心得体会
2016/01/21 职场文书
php字符串倒叙
2021/04/01 PHP
总结Python变量的相关知识
2021/06/28 Python
Win10系统搭建ftp文件服务器详细教程
2022/08/05 Servers