PYTHON用[有向图-邻接表]来描述社交网络中的[关注关系]

有向图(Directed Graph)在有向图中,边是有方向性的,从一个节点指向另一个节点。这意味着从节点 A 到节点 B 的边与从节点 B 到节点 A 的边可以是不同的,或者根本不存在。有向图通常用于表示具有方向性的关系,例如网页链接、社交关系中的关注关系等。

在社交网络中,有向图可以更详细地描述用户之间的交互关系
关注关系:
用户A关注了用户B,但用户B并不关注用户A。这种情况下,可以在有向图中表示为从节点A指向节点B的有向边。
用户C既关注了用户D,又被用户D关注。这种情况下,可以在有向图中表示为从节点C指向节点D的有向边,并且从节点D指向节点C的另一条有向边。

以下是使用邻接表实现有向图的基本示例(使用Python的字典Dictionary来表示邻接表):

class SocialNetwork:def __init__(self):self.graph = {}def add_user(self, user):if user not in self.graph:self.graph[user] = set() # set()是Python中的一个内置函数,用于创建一个空的集合(set)。def follow(self, follower, followee):if follower in self.graph and followee in self.graph:self.graph[follower].add(followee)# def follow(self, follower, followee):
# 这是一个方法定义,接受三个参数:self、follower 和 followee。self 表示类的实例本身,follower 是关注者的标识符,followee 是被关注者的标识符。
# if follower in self.graph and followee in self.graph::这是一个条件语句,检查关注者和被关注者是否都存在于社交网络中。如果关注者和被关注者都存在,则条件成立。
# self.graph[follower].add(followee):如果条件成立,即关注者和被关注者都存在于社交网络中,那么将被关注者添加到关注者的关注集合中。
# self.graph[follower] 表示关注者在

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/3164.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux权限维持(二)

3.SSH 后门 3.1 SSH 软连接后门 软连接后门的原理是利用了 PAM 配置文件的作用,将 sshd 文件软连接名称设置为 su ,这样应用在启动过 程中他会去PAM 配置文件夹中寻找是否存在对应名称的配置信息 (su) ,然而 su 在 pam_rootok 只检测 uid…

科研工作学习中常用的录制动图软件——screenToGif

一、前言 俗话说,字不如表,表不如图,静图不如动图。 动图给人的直观感受,还是很不错的。在曾经的学生期间,进行组会汇报;还是如今工作中,给领导汇报。我经常使用screenToGif这款软件&#xff…

SSRF—服务器请求伪造 漏洞详解

漏洞简述 SSRF(Server-Side Request Forgery:服务器端请求伪造) 是一种由攻击者构造,由服务端发起请求的一个网络攻击,一般用来在外网探测或攻击内网服务,其影响效果根据服务器用的函数不同,从而造成不同的影响。 SSRF 形成的原因…

Ubuntu22.04.4 - apt - 笔记

一、修改源配置 这里使用的时候又出现了联不通的情况,换成国内镜像 在update cp /etc/apt/source.list /etc/apt/source.list.bak vim source.list 换源地址 修改完(网上有,注意:根据Ubuntu版本不一样,部分内同也会不…

探索在Apache SeaTunnel上使用Hudi连接器,高效管理大数据的技术

Apache Hudi是一个数据湖处理框架,通过提供简单的方式来进行数据的插入、更新和删除操作,Hudi能够帮助数据工程师和科学家更高效地处理大数据,并支持实时查询。 支持的处理引擎 Spark Flink SeaTunnel Zeta 主要特性 批处理 流处理 精确一次性…

centos7 搭建 kubernetes1.22.2 集群

centos7 搭建 kubernetes1.22.2 集群 关注【云原生AI百宝箱】公众号,获取更多云原生消息 环境: 操作系统:win10虚拟机:virtual box 、 Vmwarelinux发行版:CentOS7.9linux内核(使用uname -r查看):3.10.0-957.el7.x86_64master和node节点通信的ip(master): 10.0.0.1980.检…

【前端】vue数组去重的3种方法

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、数组去重说明二、Vue数组去重的3种方法 前言 随着开发语言及人工智能工具的普及,使得越来越多的人会主动学习使用一些开发工具,本文…

rabbitmq 之 无法自动创建队列的问题

背景 子项目中使用了rabbitmq,但是只用了发送到队列的功能,没有监听,所以当项目启动时,并未自动创建队列 通过GPT,找到了如下解决方法,测试可用。 思路是:配置队列信息时,手动调用连…

easyx(按钮信息)

前言 还是介绍这个库函数 ExMessage msg { 0 }; bool button(int x, int y, int w, int h, const char* text) {//绘制按钮setfillcolor(RGB(230, 231, 232));fillroundrect(x, y, x w, y h, 5, 5);if ((msg.x > x && msg.x<x w && msg.y>y &am…

Java、Android面试高频系列文章合集

本人今年参加了很多面试&#xff0c;也有幸拿到了一些大厂的offer&#xff0c;整理了众多面试资料&#xff0c;后续还会分享众多面试资料。 整理成了面试系列&#xff0c;由于时间有限&#xff0c;每天整理一点&#xff0c;后续会陆续分享出来&#xff0c;感兴趣的朋友可关注收…

港股“AIGC第一股”出门问问,凭借什么产品做到上市?

随着人工智能技术的飞速发展&#xff0c;AIGC&#xff08;人工智能生成内容&#xff09;领域逐渐成为资本市场的新宠。在这样的背景下&#xff0c;出门问问&#xff08;股票代码&#xff1a;2438.HK&#xff09;作为AIGC领域的先行者&#xff0c;于2024年4月24日正式登陆港交所…

CSS常用属性之(列表、表格、鼠标)属性,(如果想知道CSS的列表、表格、鼠标相关的属性知识点,那么只看这一篇就足够了!)

前言&#xff1a;在学习CSS的时候&#xff0c;必不可少的就要学习选择器和常见的属性&#xff0c;而本篇文章讲解的是CSS中的列表、表格、背景、鼠标属性。 ✨✨✨这里是秋刀鱼不做梦的BLOG ✨✨✨想要了解更多内容可以访问我的主页秋刀鱼不做梦-CSDN博客 大致了解一下本篇文章…

李沐63_束搜索——自学笔记

贪心搜索 1.在seq2seq中使用贪心搜索来预测序列&#xff1a;将当前时刻预测概率最大的词输出 2.贪心可能不是最优解&#xff08;步步最优不代表全局最优&#xff09; 穷举搜索 1.最优算法&#xff1a;对所有可能的序列&#xff0c;计算它的概率&#xff0c;选取最好的那个 …

node.js如何解析get请求和post请求?以及对JSON.stringify与JSON.parse 的具体介绍?

一、get请求处理方法&#xff1a; &#xff08;1&#xff09;querystring.parse&#xff08;req.url.query) 代码示例&#xff1a;见 http://t.csdnimg.cn/e4zCG &#xff08;2&#xff09;url.parse&#xff08;req.url&#xff0c;true&#xff09; 代码示例&#xff1a;…

用斐波那契数列感受算法的神奇(21亿耗时0.02毫秒)

目录 一、回顾斐波那契数列 二、简单递归方法 &#xff08;一&#xff09;解决思路 &#xff08;二&#xff09;代码展示 &#xff08;三&#xff09;性能分析 三、采用递归HashMap缓存 &#xff08;一&#xff09;解决思路 &#xff08;二&#xff09;代码展示 &…

Apache JMeter进行TCP并发压力测试初尝试

前言 由于互联网编程实验二第三题要求比较使用线程池与否的服务器的并发性能&#xff0c;遂检索信息并了解到Apache JMeter这个工具 本文主要介绍了在已有Java JDK的情况下对Apache JMeter的安装及配置&#xff0c;以及利用JMeter进行TCP压力测试 一、安装及配置 先在官网下…

Clion连接MySQL数据库:实现C/C++语言与MySQL交互

确保你的电脑里已经有了MySQL。 1、找到MySQL的目录 2、进入lib目录 3、复制libmysql.dll和libmysql.lib文件 4、将这俩文件粘贴到你的clion项目的cmake-build-debug目录下 如果不是在这个目录下&#xff0c;运行时会出以下错误报错&#xff1a; 进程已结束&#xff0c;退…

word导出或另存为pdf图片不清晰问题解决方案

问题描述&#xff1a; 使用word 2019导出pdf时图片不清晰&#xff0c;即使我已经在“选项 → \to →高级 → \to →图片大小和质量 → \to →不压缩文件中的图像 ”选项卡中关闭掉了图片压缩依然无效。 解决方案&#xff1a; 利用word foxit pdf 软件打印的方案转pdf。 &…

AppleWatch是真的能够减少我iPhone的使用时长

我应该是比较专情的果粉了&#xff0c;我有一台MacBook Pro、iPad Pro、airpods pro 2和iPhone 15 Pro Max。但我还从来没有用过苹果手表。 然后&#xff0c;我就去买了AppleWatchSeries9蜂窝款&#xff0c;并试用了一周&#xff0c;我想知道它是否能帮助我减少使用iPhone的时间…

MySQL中如何随机获取一条记录

点击上方蓝字关注我 随机获取一条记录是在数据库查询中常见的需求&#xff0c;特别在需要展示随机内容或者随机推荐的场景下。在 MySQL 中&#xff0c;有多种方法可以实现随机获取一条记录&#xff0c;每种方法都有其适用的情况和性能特点。在本文中&#xff0c;我们将探讨几种…