Python 数据结构与算法——图出度和入度的计算
Trick(七)——list of lists 行和、列和的计算
如果以邻接矩阵(元素为0/1(true/false))的形式表示图结构,则各个顶点的出度:各行的行和,各个顶点的入度:各列的列和。
考虑如下的图结构:
使用邻接集的字典表示法对该图结构做如下表示:
G = {'a':set('bcdef'),'b':set('ce'),'c':set('d'),'d':set('e'),'e':set('f'),'f':set('cgh'),'g':set('fh'),'h':set('fh')
}
每一个顶点的出度,只需计算每一个顶点对应的集合的大小即可;
每一个顶点的入度,我们要统计其在右侧的集合中出现的次数。
out_degrees = dict((u, 0) for u in G)
in_degrees = dict((u, 0) for u in G)for u in G:out_degrees[u] = len(G[u])for u in G:for v in G[u]:in_degrees[v] += 1
结果:
{'c': 1, 'f': 3, 'h': 2, 'b': 2, 'a': 5, 'e': 1, 'd': 1, 'g': 2}
{'c': 3, 'f': 4, 'h': 3, 'b': 1, 'a': 0, 'e': 3, 'd': 2, 'g': 1}
Python 数据结构与算法——图出度和入度的计算相关推荐
- Python 数据结构与算法——图(Graph)
图结构(Graph)--算法学中最强大的框架之一.树结构只是图的一种特殊情况. 如果我们可将自己的工作诠释成一个图问题的话,那么该问题至少已经接近解决方案了.而我们我们的问题实例可以用**树结构(tr ...
- python数据结构和算法 时间复杂度分析 乱序单词检测 线性数据结构 栈stack 字符匹配 表达式求值 queue队列 链表 递归 动态规划 排序和搜索 树 图
python数据结构和算法 参考 本文github 计算机科学是解决问题的研究.计算机科学使用抽象作为表示过程和数据的工具.抽象的数据类型允许程序员通过隐藏数据的细节来管理问题领域的复杂性.Pytho ...
- Python 数据结构与算法——从二分图到寻找最大排列(Maximum Permutation)
假设现在有 8 位有着特殊癖好的人去买票看电影,其中有一部分人得到了自己喜欢的座位,但大多数人并不满意.现在的问题是,如果这些人各自都有自己喜欢的座位(喜欢的座位有重叠,这是进行最大排列的前提,否则无 ...
- Python数据结构与算法(1.1)——数据结构与算法导论
Python数据结构与算法(1.1)--数据结构与算法导论 0. 学习目标 1. 数据结构概述 1.1 什么是数据结构 1.2 逻辑结构和物理结构 1.3 抽象数据类型 1.4 数据结构学习的必要性 ...
- [FreeCodeCamp笔记] Python 数据结构和算法1 二分搜索 Binary Search
我以前学过数据结构和算法(data structure and algorithms. 现在普遍简称DSA),当时用的Robert Sedgewick的coursera课程.这位大神写的<算法( ...
- 视频教程-Python数据结构与算法面试(上)-Python
Python数据结构与算法面试(上) 东北大学计算机专业硕士研究生,欧瑞科技创始人&CEO,曾任国内著名软件公司项目经理,畅销书作者,企业IT内训讲师,CSDN学院专家讲师,制作视频课程超过1 ...
- Python天天美味(32) - python数据结构与算法之堆排序
1. 选择排序 选择排序原理是先选出最小的数,与第一个数交换,然后从第二个数开始再选择最小的数与第二个数交换,-- def selection_sort(data): for i in ran ...
- python数据结构与算法13_python 数据结构与算法 (13)
python 数据结构与算法 (13) 选择排序 (Selection sort) 是? 种简单直观的排序算法. 它的? 作原理如 下.? 先在未排序序列中找到最?(?)元素, 存放到排序序列的起始位 ...
- python leetcode_leetcode 介绍和 python 数据结构与算法学习资料
for (刚入门的编程)的高中 or 大学生 leetcode 介绍 leetcode 可以说是 cs 最核心的一门"课程"了,虽然不是大学开设的,但基本上每一个现代的高水平的程序 ...
最新文章
- 怎么重启网站mysql数据库_如何重启MySQL数据库服务
- python几岁开始学_python编程少儿几岁可以学?有哪些优势?
- Android 分享控件
- 4 VMware安装
- 到天宫做客(2017寒假培训测试压轴题)
- 数据库无法保存中文的解决
- c语言初始化字符数组为空,怎么把已经初始化的字符数组设置为空?
- 什么是PostgreSQL?跟MySQL、Oracle比强在哪?
- 【前端自动化构建】之 自动化部署
- MSSql ID自动增长删除数据重1开始
- 进程(Process)和线程(Thread)的区别
- 几个简单的Linux驱动程序
- python中pep8规范_Python PEP8规范
- Windows下GDAL3.1.2编译 (VS2015)
- Windows11 专业版 体验分享
- 自考CISSP信息分享
- html object flash,HTML Flash Object属性(摘)
- css3变形 transform中复合写法的注意问题总结
- Android-SDK下载和安装
- SAP OBY8 删除会计科目表报错 Message no. FC095
热门文章
- 安装JDK失败,再次安装时出现已经安装过了的,解决办法
- 开启Hadoop/Yarn的日志监控功能,配置Spark历史服务,解决web端查看日志时的Java.lang.Exception:Unknown container问题
- Spark Streaming之Window Operations操作和解析
- .sh 编译 java_build-java.sh
- 简单又帅气的折纸机器人教程_帅气折纸机器人的详细折叠教程
- java后置过滤器_java - 如何使用zuul将响应主体提取到后置过滤器中
- Docker下安装Anaconda
- Redis教程:基础知识
- KFD algorithm
- mysql服务器是否支持tcp/ip连接,(3)MySQL客户端与服务端的TCP/IP及socket连接方式-Go语言中文社区...