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 基础教程之str和repr的详解
Aug 20 Python
老生常谈Python startswith()函数与endswith函数
Sep 08 Python
Python3正则匹配re.split,re.finditer及re.findall函数用法详解
Jun 11 Python
python hook监听事件详解
Oct 25 Python
Python 确定多项式拟合/回归的阶数实例
Dec 29 Python
详解Python连接MySQL数据库的多种方式
Apr 16 Python
python3.7实现云之讯、聚合短信平台的短信发送功能
Sep 26 Python
Python线程指南分享
Nov 19 Python
Python实现栈和队列的简单操作方法示例
Nov 29 Python
使用python实现微信小程序自动签到功能
Apr 27 Python
利用Python批量识别电子账单数据的方法
Feb 08 Python
python 字典和列表嵌套用法详解
Jun 29 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解析html类库simple_html_dom的转码bug
2014/05/22 PHP
PHP获取中英混合字符串长度的方法
2014/06/07 PHP
PHP url的pathinfo模式加载不同控制器的简单实现
2016/08/12 PHP
php 获取xml接口数据的处理方法
2018/05/31 PHP
PHP删除数组中指定值的元素常用方法实例分析【4种方法】
2018/08/21 PHP
xml 封装与解析(javascript和C#中)
2009/07/26 Javascript
javascript列表框操作函数集合汇总
2013/11/28 Javascript
JS实现在页面随时自定义背景颜色的方法
2015/02/27 Javascript
JQUERY的AJAX请求缓存里的数据问题处理
2016/02/23 Javascript
Bootstrap每天必学之折叠
2016/04/12 Javascript
JQuery.validate在ie8下不支持的快速解决方法
2016/05/18 Javascript
Listloading.js移动端上拉下拉刷新组件
2016/08/04 Javascript
浅谈Vue的基本应用
2016/12/27 Javascript
利用Node.js编写跨平台的spawn语句详解
2017/02/12 Javascript
JS实现去除数组中重复json的方法示例
2017/12/21 Javascript
vue 动态修改a标签的样式的方法
2018/01/18 Javascript
看看“疫苗查询”小程序有温度的代码
2018/07/31 Javascript
基于游标的分页接口实现代码示例
2018/11/12 Javascript
Vue 2.0 侦听器 watch属性代码详解
2019/06/19 Javascript
vue-router两种模式区别及使用注意事项详解
2019/08/01 Javascript
javaScript把其它类型转换为Number类型
2019/10/13 Javascript
Django中对数据查询结果进行排序的方法
2015/07/17 Python
python 自动化将markdown文件转成html文件的方法
2016/09/23 Python
pycharm 解除默认unittest模式的方法
2018/11/30 Python
Python 50行爬虫抓取并处理图灵书目过程详解
2019/09/20 Python
Python上下文管理器类和上下文管理器装饰器contextmanager用法实例分析
2019/11/07 Python
Django 拼接两个queryset 或是两个不可以相加的对象实例
2020/03/28 Python
台湾母婴用品购物网站:Infant婴之房
2018/06/15 全球购物
纽约州一群才华横溢的金匠制作而成:Hearth Jewelry
2019/03/22 全球购物
社区活动策划方案
2014/08/21 职场文书
教师遵守党的政治纪律情况对照检查材料
2014/09/26 职场文书
党员违纪检讨书
2015/05/05 职场文书
入党转正申请报告
2015/05/15 职场文书
钱学森电影观后感
2015/06/04 职场文书
MySQL主从搭建(多主一从)的实现思路与步骤
2021/05/13 MySQL
端午节将至,用Python爬取粽子数据并可视化,看看网友喜欢哪种粽子吧!
2021/06/11 Python