【图(上)】六度空间
六度空间(Six Degrees of Separation)
- 你和任何一个陌生人之间所间隔的人不会超过六个
题目:给定社交网络图,请对每个节点计算符合“六度空间”理论的结点占结点总数的百分比
算法思路:
- 对每个节点,进行广度优先搜索
- 搜索过程中累计访问的节点数
- 需要记录“层”数,仅计算6层以内的节点数
具体过程:
对每一个结点求其6层以内可以访问的结点的总数,除以总数n就是该节点符合“六度空间”理论的结点占结点总数的百分比
变量level表示层数,last表示该层访问的最后一个结点,根节点入队列,last初始化为根节点,从队列中取元素,并将该元素相连的没有访问过的元素入队列,所有入栈的元素都要设置成已经访问过;当取出的元素等于last时,表示该层访问完了,层数加1,进入下一层,直到第六层访问完时,退出,返回入栈的元素总数。
void SDS()
{for (each V in G){count = BFS(V);Output(count / N);}
}
int BFS(Vertex V)
{visited[V] = true; count = 1; //count统计6层内元素个数level = 0; last = V; //last表示该层最后一个元素Enqueue(V, Q);while (!IsEmpty(Q)){V = Dequeue(Q);for (V 的每个邻接点W)if (!visited[W]){visited[W] = true;Enqueue(W, Q); count++;tail = W;}if (V == last){//取出结点等于该层最后一个结点,该层元素全部已经访问level++; last = tail;}if (level == 6) break;}return count;
}
【图(上)】六度空间相关推荐
- 六、图(上):六度空间
目录 题目描述 代码 解题思路 题目描述 "六度空间"理论又称作"六度分隔(Six Degrees of Separation)"理论.这个理论可以通俗地阐述为 ...
- python 一张图画多条线_Gnuplot.py在一张图上绘制多条线
我目前正试图使用gnuplot py从文本文件中绘制多行.我可以分别绘制两条线,但当我试图在同一个图上绘制它们时,它只绘制一条线.在 这是我的代码:#!/usr/bin/env python impo ...
- tensorboard图上存在直线_高中数学必修二直线与圆:真是让我没想到,他俩的关系还挺不简单...
为什么有些题目看着复杂,看一眼就想烧了卷子.听老师一讲,然后一个有趣的事情就发生了,原来这么简单,哎哟,这方法不错,老师还挺聪明,给你点个赞. 首先承认一点,大家智商基本没有太大差异,老师也好,学生也 ...
- ICML2020 | 基于贝叶斯元学习在关系图上进行小样本关系抽取
今天给大家介绍来自加拿大蒙特利尔大学Mila人工智能研究所唐建教授课题组在ICML2020上发表的一篇关于关系抽取的文章.作者利用全局关系图来研究不同句子之间的新关系,并提出了一种新的贝叶斯元学习方法 ...
- Python使用matplotlib函数subplot可视化多个不同颜色的折线图、在折线图上为每个数据点添加日期数据标签
Python使用matplotlib函数subplot可视化多个不同颜色的折线图.在折线图上为每个数据点添加日期数据标签 目录
- Python使用matplotlib函数subplot可视化多个不同颜色的折线图、在折线图上为每个数据点添加数值标签
Python使用matplotlib函数subplot可视化多个不同颜色的折线图.在折线图上为每个数据点添加数值标签 目录
- R语言ggplot2可视化在箱图上添加分组样本个数
R语言ggplot2可视化在箱图上添加分组样本个数 目录 R语言ggplot2可视化在箱图上添加分组样本个数 #数据预处理
- R语言层次聚类(hierarchical clustering):使用scale函数进行特征缩放、hclust包层次聚类(创建距离矩阵、聚类、绘制树状图dendrogram,在树状图上绘制红色矩形框)
R语言层次聚类(hierarchical clustering):使用scale函数进行特征缩放.hclust包层次聚类(创建距离矩阵.聚类.绘制树状图dendrogram,在树状图上绘制红色矩形框) ...
- 图上的对抗与攻击精选论文列表(2021相关论文一览)
来源:深度学习与图网络本文约1400字,建议阅读5分钟本文为你分享图上的对抗与攻击精选论文. 2021相关论文一览 大规模攻击图神经网络 图神经网络的黑盒梯度攻击: 更深入洞察图的攻击和防御 增强多路 ...
- Bootstrap+PHP实现多图上传
插件及源代码可以在这里下载 http://www.jq22.com/jquery-info5231 下面是根据下载的demo进行补充: 使用bootstrap界面美观,可预览,可拖拽上传,可配合aja ...
最新文章
- 模拟计算机网络中的零比特填充
- input中radio用法
- mysql 存储过程 插入记录_mysql 存储过程 插入记录
- Nginx学习总结(4)——负载均衡session会话保持方法
- 第5次作业+105032014070+胡阳洋
- TSDF算法笔记(转)
- 多任务学习(MTL)在转化率预估上的应用
- 第11章 樱花树(《C和C++游戏趣味编程》配套教学视频)
- python 接口测试 如何写配置文件_python接口自动化之ConfigParser配置文件的使用详解...
- [小问题笔记(八)] 常用SQL(读字段名,改字段名,打印影响行数,添加默认值,查找存储过程等)...
- java集合框架之LinkedList
- java程序设计精编教程第3版电子版课后答案_Java程序设计精编教程(第3版)-微课版...
- js获取IP地址的4种方法
- 计算机信息专业致谢词,计算机专业毕业论文致谢词
- 菜鸟的LEETCODE的MYSQL做题总结2
- MySQL报Out of sort memory, consider increasing server sort buffer size的两种情况
- Android 实现人脸识别检测时的扫描动画效果(二维码扫描动画效果同理)
- 第四章 大数定律与中心极限定理(总结)
- 乘风广告联盟系统v6.6 官方版源码
- nvm切换node nvm use 17.2.0 exit status 5: �ܾ����ʡ� exit status 1: ���ļ��Ѵ���ʱ�����������ļ���