六度空间(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;
}

【图(上)】六度空间相关推荐

  1. 六、图(上):六度空间

    目录 题目描述 代码 解题思路 题目描述 "六度空间"理论又称作"六度分隔(Six Degrees of Separation)"理论.这个理论可以通俗地阐述为 ...

  2. python 一张图画多条线_Gnuplot.py在一张图上绘制多条线

    我目前正试图使用gnuplot py从文本文件中绘制多行.我可以分别绘制两条线,但当我试图在同一个图上绘制它们时,它只绘制一条线.在 这是我的代码:#!/usr/bin/env python impo ...

  3. tensorboard图上存在直线_高中数学必修二直线与圆:真是让我没想到,他俩的关系还挺不简单...

    为什么有些题目看着复杂,看一眼就想烧了卷子.听老师一讲,然后一个有趣的事情就发生了,原来这么简单,哎哟,这方法不错,老师还挺聪明,给你点个赞. 首先承认一点,大家智商基本没有太大差异,老师也好,学生也 ...

  4. ICML2020 | 基于贝叶斯元学习在关系图上进行小样本关系抽取

    今天给大家介绍来自加拿大蒙特利尔大学Mila人工智能研究所唐建教授课题组在ICML2020上发表的一篇关于关系抽取的文章.作者利用全局关系图来研究不同句子之间的新关系,并提出了一种新的贝叶斯元学习方法 ...

  5. Python使用matplotlib函数subplot可视化多个不同颜色的折线图、在折线图上为每个数据点添加日期数据标签

    Python使用matplotlib函数subplot可视化多个不同颜色的折线图.在折线图上为每个数据点添加日期数据标签 目录

  6. Python使用matplotlib函数subplot可视化多个不同颜色的折线图、在折线图上为每个数据点添加数值标签

    Python使用matplotlib函数subplot可视化多个不同颜色的折线图.在折线图上为每个数据点添加数值标签 目录

  7. R语言ggplot2可视化在箱图上添加分组样本个数

    R语言ggplot2可视化在箱图上添加分组样本个数 目录 R语言ggplot2可视化在箱图上添加分组样本个数 #数据预处理

  8. R语言层次聚类(hierarchical clustering):使用scale函数进行特征缩放、hclust包层次聚类(创建距离矩阵、聚类、绘制树状图dendrogram,在树状图上绘制红色矩形框)

    R语言层次聚类(hierarchical clustering):使用scale函数进行特征缩放.hclust包层次聚类(创建距离矩阵.聚类.绘制树状图dendrogram,在树状图上绘制红色矩形框) ...

  9. 图上的对抗与攻击精选论文列表(​2021相关论文一览)

    来源:深度学习与图网络本文约1400字,建议阅读5分钟本文为你分享图上的对抗与攻击精选论文. 2021相关论文一览 大规模攻击图神经网络 图神经网络的黑盒梯度攻击: 更深入洞察图的攻击和防御 增强多路 ...

  10. Bootstrap+PHP实现多图上传

    插件及源代码可以在这里下载 http://www.jq22.com/jquery-info5231 下面是根据下载的demo进行补充: 使用bootstrap界面美观,可预览,可拖拽上传,可配合aja ...

最新文章

  1. 模拟计算机网络中的零比特填充
  2. input中radio用法
  3. mysql 存储过程 插入记录_mysql 存储过程 插入记录
  4. Nginx学习总结(4)——负载均衡session会话保持方法
  5. 第5次作业+105032014070+胡阳洋
  6. TSDF算法笔记(转)
  7. 多任务学习(MTL)在转化率预估上的应用
  8. 第11章 樱花树(《C和C++游戏趣味编程》配套教学视频)
  9. python 接口测试 如何写配置文件_python接口自动化之ConfigParser配置文件的使用详解...
  10. [小问题笔记(八)] 常用SQL(读字段名,改字段名,打印影响行数,添加默认值,查找存储过程等)...
  11. java集合框架之LinkedList
  12. java程序设计精编教程第3版电子版课后答案_Java程序设计精编教程(第3版)-微课版...
  13. js获取IP地址的4种方法
  14. 计算机信息专业致谢词,计算机专业毕业论文致谢词
  15. 菜鸟的LEETCODE的MYSQL做题总结2
  16. MySQL报Out of sort memory, consider increasing server sort buffer size的两种情况
  17. Android 实现人脸识别检测时的扫描动画效果(二维码扫描动画效果同理)
  18. 第四章 大数定律与中心极限定理(总结)
  19. 乘风广告联盟系统v6.6 官方版源码
  20. nvm切换node nvm use 17.2.0 exit status 5: �ܾ����ʡ� exit status 1: ���ļ��Ѵ���ʱ���޷��������ļ���

热门文章

  1. 英语词性的分类及用法
  2. db2离线备份_DB2离线全备份与在线备份.pdf
  3. 强大的MySQL 官方压测神器,简单、易用
  4. 稀疏光流python_稀稀疏疏是什么意思
  5. 用python对股票进行可视化分析_使用Python对股票进行可视化分析
  6. python爬取数据实践,以及趟过的坑
  7. 中国大城市政治地位综合实力排名
  8. JavaScript - URI编码、解码,转换整型的使用说明
  9. u盘文件变成乱码怎么办
  10. 【历史上的今天】10 月 13 日:网景浏览器诞生;ENIAC 首席设计师出生;全球首例全机器人手术