2.15_graph_图
--- 图结构相关术语 ---1. 顶点 (Vertex) / 节点 (Node):具有名称标识 key,也可以携带数据项 payload2. 边 (Edge) / 弧 (Arc):连接两个顶点可以是无向或有向的:"无向图 / 有向图"3. 权重 (weight):表达从一个顶点到另一个顶点的"代价",可以给边赋权4. 路径 (Path):由边依次连接起来的顶点序列无权路径长度为变的数量,带权路径长度为所有边权重的和5. 圈 (Cycle):收尾顶点相同的路径有向图中不存在任何圈:"有向无圈图 (Directed Acyclic Graph: DAG)"
class Graph(object):def __init__(self, gdict=None):if gdict is None:gdict = {}self.gdict = gdictdef edges(self):return self.get_edges()def get_vertices(self):"""get the keys of gdict"""return list(self.gdict.keys())def get_edges(self):"""get distinct list of edges"""edge_list = []for v in self.gdict:for nxt_v in self.gdict[v]:if {v, nxt_v} not in edge_list:edge_list.append({v, nxt_v})return edge_listdef add_vertex(self, vertex):if vertex not in self.gdict:self.gdict[vertex] = []def add_edge(self, edge):edge = set(edge)(v1, v2) = tuple(edge)if v1 in self.gdict:self.gdict[v1].append(v2)else:self.gdict[v1] = [v2]g_element = {'a':['b','c'],'b':['a','d'],'c':['a','d'],'d':['e'],'e':['d']}
g = Graph(g_element)
g.add_edge({'a','e'})
g.add_edge({'a','c'})
print(g.edges())
2.15_graph_图相关推荐
- 【UML建模】机房中的UML图
<用例图> 管理员用例图 操作员用例图 一般用户用例图 <静态图> 类图 包图 对象图 <动态图> 活动图 状态图 时序图 合作图:通过时序图F5转换得到 < ...
- 【UML建模】UML图详细总结
前言: 机房文档中的UML图在UML视频看完后,照着书画的. 视频主要是看了前面的部分,后面关于几个具体例子跳过了,感觉看了也看不懂,除非真的跟着视频中认真的把例子都画一遍,才能了解的差不多! 过程学 ...
- 数学上各种空间概念的关系图
https://blog.csdn.net/cc1949/article/details/79744519 数学上有各种空间,概念容易混淆,为了记忆,整理出一张关系图. 目前不清楚无限维的内积空间是什 ...
- 【机器学习】【条件随机场CRF-3】条件随机场的参数化形式详解 + 画出对应的状态路径图 + 给出对应的矩阵表示...
1.条件随机场概念 CRF,Conditional Random Field,是给定一组输入随机变量条件下另一组输出随机变量的条件概率分布模式,其特点是假设输出随机变量构成马尔可夫随机场. 条件随机场 ...
- 最全Pycharm教程(43)——Pycharm扩展功能之UML类图使用 代码结构
版权声明:本文为博主原创文章,转载时麻烦注明源文章链接,谢谢合作 https://blog.csdn.net/u013088062/article/details/50353202 1.什么是UML ...
- 【图论】有向无环图的拓扑排序
1. 引言 有向无环图(Directed Acyclic Graph, DAG)是有向图的一种,字面意思的理解就是图中没有环.常常被用来表示事件之间的驱动依赖关系,管理任务之间的调度.拓扑排序是对DA ...
- 算法精解:DAG有向无环图
DAG是公认的下一代区块链的标志.本文从算法基础去研究分析DAG算法,以及它是如何运用到区块链中,解决了当前区块链的哪些问题. 关键字:DAG,有向无环图,算法,背包,深度优先搜索,栈,BlockCh ...
- Typora+PicGo图床配置(本地图片-->网络url~博客必备)
前段时间搭了一个hexo博客,但是发现了一个很大的问题,在Typora里编辑你的博文的时候,插入的图片都是一些本地图片,然后部署的时候根本不能加载这些图片~~ 其中一个解决方法就是通过一些平台,像知乎 ...
- 晶体管逻辑芯片设计微缩图形化
晶体管逻辑芯片设计微缩图形化 伴随着晶体管大小不断逼近原子的物理体积极限,传统摩尔定律下的2D微缩技术不再能同时改善芯片的性能.功率.面积成本和上市时间(即:PPACt),晶体管设计.互连微缩.图形化 ...
最新文章
- JSR 303 - Bean Validation 介绍及最佳实践
- 新基建数据中心如何建?附建设导则
- tldr一个精简的man手册替代品
- boost::cv_status相关的测试程序
- CCIE试验备考之交换security(2)
- Fibonacci again and again HDU - 1848(尼姆博弈+SG函数的运用+SG函数详解)
- 【POJ - 2376】Cleaning Shifts (贪心)
- bpmn流程图_流程图怎么做?金舟在线流程图教你高逼格制作
- 局部加权线性回归(Locally weighted linear regression)
- 解决Vue循环中子组件不实时更新的问题
- 简单的HTML5 Web Storage留言册
- javascript基础(json数据操作)
- 佳能G1800 G2800 G3800提示5B00打印机清零软件用软件ST5302
- 南京工业大学计算机科学与技术学院保研外校,南京工业大学计算机科学与技术学院2018年招收推荐免试研究生章程...
- python预测你的小孩身高_Python 孩子身高预测
- mac pe 制作教程
- css修改方框内容,CSS改变checkbox的方框及对勾的粗细
- 骨传导耳机哪个牌子好?哪些款式最值得入手?
- SAS中常见的数组函数
- WIN7 64位操作系统下成功安装Oracle10g(32位)
热门文章
- oracle序列修改语句
- mysql主从与读写分离_MySQL主从复制与读写分离
- swagger2导出html文档和pdf文档(解决pdf中文乱码与显示不全问题)
- Java操作某方法时报错:java.lang.NoSuchMethodError
- java中的 BigDecimal 和 String 的相互转换
- Java之final关键字详解
- 《Kotlin从零到精通Android开发》资源下载和内容勘误
- java 动态加载jni_JNI静态注册与动态注册详解
- 雷军说小米综合净利润率永远不超过5%,玺哥相信他是真心的!
- Java10的新特性