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 Web框架Flask信号机制(signals)介绍
Jan 01 Python
python获取图片颜色信息的方法
Mar 18 Python
Python字符串详细介绍
May 09 Python
Python随机生成均匀分布在三角形内或者任意多边形内的点
Dec 14 Python
python创建列表和向列表添加元素的实现方法
Dec 25 Python
python实现最长公共子序列
May 22 Python
python实现一个简单的ping工具方法
Jan 31 Python
python的set处理二维数组转一维数组的方法示例
May 31 Python
Python 一行代码能实现丧心病狂的功能
Jan 18 Python
深入浅析python的第三方库pandas
Feb 13 Python
python 进制转换 int、bin、oct、hex的原理
Jan 13 Python
基于flask实现五子棋小游戏
May 25 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
destoon复制新模块的方法
2014/06/21 PHP
phpword插件导出word文件时中文乱码问题处理方案
2014/08/19 PHP
php注册和登录界面的实现案例(推荐)
2016/10/24 PHP
json实现前后台的相互传值详解
2015/01/05 Javascript
基于Jquery和html5实现炫酷的3D焦点图动画
2016/03/02 Javascript
IE8兼容Jquery.validate.js的问题
2016/12/01 Javascript
node.js实现回调的方法示例
2017/03/01 Javascript
JS实现的二叉树算法完整实例
2017/04/06 Javascript
js实现带进度条提示的多视频上传功能
2020/12/13 Javascript
自定义类似于jQuery UI Selectable 的Vue指令v-selectable
2017/08/23 jQuery
Vue 递归多级菜单的实例代码
2019/05/05 Javascript
webpack 代码分离优化快速指北
2019/05/18 Javascript
VUE脚手架具体使用方法
2019/05/20 Javascript
vue-test-utils初使用详解
2019/05/23 Javascript
vue实现路由切换改变title功能
2019/05/28 Javascript
[01:02:17]2014 DOTA2华西杯精英邀请赛 5 24 DK VS VG
2014/05/26 DOTA
[05:08]DOTA2-DPC中国联赛3月6日Recap集锦
2021/03/11 DOTA
Python strip lstrip rstrip使用方法
2008/09/06 Python
python数据结构之二叉树的统计与转换实例
2014/04/29 Python
Python深入学习之装饰器
2014/08/31 Python
跟老齐学Python之dict()的操作方法
2014/09/24 Python
python去除所有html标签的方法
2015/05/05 Python
Python+django实现文件上传
2016/01/17 Python
Python网络爬虫实例讲解
2016/04/28 Python
python基础教程之Filter使用方法
2017/01/17 Python
11月编程语言排行榜 Python逆袭C#上升到第4
2017/11/15 Python
浅谈利用numpy对矩阵进行归一化处理的方法
2018/07/11 Python
python使用udp实现聊天器功能
2018/12/10 Python
python如何给字典的键对应的值为字典项的字典赋值
2019/07/05 Python
python遍历文件目录、批量处理同类文件
2019/08/31 Python
python实现3D地图可视化
2020/03/25 Python
Python调用OpenCV实现图像平滑代码实例
2020/06/19 Python
纽约通行卡:The New York Pass(免费游览纽约90多个景点)
2017/07/29 全球购物
2015年元旦主持词开场白
2014/12/14 职场文书
幼儿园教师节感谢信
2015/01/23 职场文书
财务工作失误检讨书
2015/02/19 职场文书