adjacency-list相关内容

使用邻接表对图中所有路径进行 BFS 遍历

我目前正在尝试在使用邻接矩阵的图中遍历从源到目的地的所有路径.我一直在尝试以 BFS 方式进行操作.感谢您的帮助.我只有一条路.我如何才能打印其他路径? 公共类 AllPossiblePaths {静态int v;静态数组列表adj[];公共 AllPossiblePaths(int v) {这个.v = v;adj = 新的 ArrayList[v];for (int i = 0; i ..

DynamoDB 邻接列表是否应该使用离散的分区键来为每种类型的关系建模?

上下文 我正在建立一个论坛并研究使用 DynamoDB 和邻接列表对数据进行建模.一些顶级实体(如用户)可能与其他顶级实体(如评论)具有多种类型的关系. 要求 例如,假设我们希望能够执行以下操作: 用户可以点赞评论 用户可以关注评论 评论可以显示喜欢它的用户 评论可以显示关注它的用户 用户个人资料可以显示他们喜欢的评论 用户个人资料可以显示他们关注的评论 因 ..
发布时间:2022-01-15 17:05:36 其他开发

来自邻接表的树结构

我正在尝试从具有父 ID 的平面数组生成分层树对象. //`parent` 代表一个 ID 而不是嵌套级别.var 平面 = [{ id: 1, name: "Business", parent: 0 },{ id: 2, name: "Management", parent: 1 },{ id: 3, name: "Leadership", parent: 2 },{ id: 4, name: ..
发布时间:2022-01-05 18:30:33 前端开发

在 C++ 中为有向图制作邻接表

大家好 :) 今天我正在提高我在图论和数据结构方面的技能.我决定用 C++ 做一个小项目,因为我已经有一段时间没有使用 C++ 了. 我想为有向图制作邻接表.换句话说,看起来像: 0-->1-->31-->22--> 43-->4--> 这将是一个有向图,其中 V0(顶点 0)有一条到 V1 和 V3 的边,V1 有一条到 V2 的边,V2 有一条到 V4 的边,如下所示: V0--- ..
发布时间:2021-12-24 14:52:49 C/C++开发

使用 DFS 检测图中的循环:2 种不同的方法以及有什么区别

请注意,图表示为邻接列表. 我听说过 2 种在图中找到循环的方法: 保留一个布尔值数组以跟踪您之前是否访问过某个节点.如果您用完了要访问的新节点(没有碰到您已经访问过的节点),那么只需回溯并尝试不同的分支. Cormen 的 CLRS 或 Skiena 中的一个:对于无向图中的深度优先搜索,有两种类型的边,树和返回.该图有环当且仅当存在后边. 谁能解释一下什么是图的后边以及 ..
发布时间:2021-12-24 14:45:07 其他开发

C++ 中图形问题的邻接表或邻接矩阵哪个更好?

对于 C++ 中的图形问题,邻接表或邻接矩阵哪个更好?各自的优缺点是什么? 解决方案 这取决于问题. 邻接矩阵 使用 O(n^2) 内存 查找和检查特定边是否存在的速度很快 任意两个节点之间 O(1) 遍历所有边很慢 添加/删除节点很慢;复杂的操作 O(n^2) 添加新边 O(1) 速度很快 邻接表 内存使用更多地取决于边的数量(而更少地取决于节点的数量) ..
发布时间:2021-12-24 14:11:22 C/C++开发

邻接表树 - 如何防止循环引用?

我在数据库中有一个邻接表,用 ID 和 ParentID 来表示树结构: -a--b- -C-d--e 当然,在记录中,ParentID 永远不应该与 ID 相同,但我还必须防止循环引用以防止无限循环.这些循环引用理论上可能涉及 2 个以上的记录.( a->b, b->c, c->a 等) 对于每条记录,我将路径存储在这样的字符串列中: a a乙/乙c a/b/c日d/e 我现在的问 ..
发布时间:2021-06-06 20:06:31 数据库

检查n深度树中的值?

我有两个实体,post 和 category,它们是 1:n 关系. 我有一个包含两列的参考表,post_id,category_id categories 表有一个 id 列、一个 status 列和一个 parent_id 列 如果一个类别是另一个类别(n-depth)的子类别,那么它的 parent_id 不为空. 如果类别在线,则其状态为 1,否则为 0. 我 ..
发布时间:2021-06-05 20:31:50 PHP

我可以向SQLAlchemy中的InstrumentedList追加两次相同的对象吗?

我在SqlAlchemy 0.6.6中有一个非常简单的N:M关系.我有一个"attractLoop"类,可以包含一堆媒体(图像或视频).我需要有一个列表,其中可以将相同的媒体(例如图像)附加两次.关系如下: 媒体是一个基类,具有图像和视频将共享的大部分属性. class BaseMedia(BaseClass.BaseClass,declarativeBase):__tablename_ ..
发布时间:2021-05-30 18:53:43 Python

邻接表中的树结构

我正在尝试从具有父ID的平面数组中生成分层树对象. //`parent`代表一个ID,而不是嵌套级别.var flat = [{id:1,名称:"Business",父级:0},{id:2,名称:"Management",父级:1},{id:3,名称:“领导权",父母:2},{id:4,名称:“财务",父级:1},{id:5,名称:“小说",父级:0},{id:6,名称:"Accounting" ..
发布时间:2021-05-19 19:50:41 前端开发

从SQL的邻接列表构建枚举路径

初始情况 我的软件使用树形数据结构,并将其存储在SQL中.我使用称为邻接表的抽象,它由存储 ID 和 ParentID 的每一行组成. ID 是主键,而 ParentID 是同一表的外键. 问题 我想将SQL抽象“转换"为路径枚举.它由存储 ID 的每一行和一个 varchar 字段组成,该字段存储从根到当前行的ID路径.例如,此树中具有 ID = 6 的行的 Path 字 ..
发布时间:2021-05-14 18:53:55 数据库

将节点列表转换为python中的嵌套字典

我在python中有一个字典,它表示一个邻接列表,我想将此列表转换为嵌套的python字典.使用 name 和 children 键. 节点列表 这是字典列表的示例,这些是列表的前10个元素.原始包含1000个元素. [{'id':1,'name':'外部扇区','parent_id':0},{'id':3,'name':'资本和金融市场','parent_id':0},{'id' ..
发布时间:2021-04-30 20:05:22 其他开发

使用HashSet的O(1)邻接表查找时间?

在我的算法课程中,我被告知,用于图形表示的邻接列表的缺点是O(n)查找时间,用于迭代遍历与每个节点对应的相邻节点的数组.我通过使用将节点映射到其相邻节点的HashSet的HashMap来实现邻接列表,这不是只需要O(1)查找时间吗?有什么我想念的吗? 解决方案 如您所知,在HashMap中使用键查找值是O(1).但是,在邻接列表中,HashMap的值也是其相邻节点的列表.邻接表的主要目的是 ..
发布时间:2021-04-02 20:43:01 其他开发

r从邻接表创建邻接矩阵或边列表

我有一个邻接列表,我正在尝试使其成为邻接矩阵或边缘列表.这是为了对从邻接矩阵或边缘列表建立的网络进行网络分析.我正在使用R. 邻接表的示例如下(每行条目数量不同,空条目为NA) [17,50,90,NA,NA; 80,67,NA,NA,NA; 33,31,32, NA,NA; 33,31,32,NA,NA; 354,56,87,97,32; ....] 我尝试使用 R:邻接列表到邻接矩阵 ..
发布时间:2020-11-26 18:59:24 其他开发

确定有向图是否是单边的

您将如何找出有向图是否是单边的(对于任意一对顶点u,v,至少有一个顶点可以相互到达)? 我在想您可以运行DFS或BFS,看看是否可以到达每个顶点.如果不是,请计算转置并从相同的顶点执行相同的搜索算法.如果您已至少到达每个顶点,那么图是单边的吗? 很显然,您可以通过分析邻接矩阵来在较大的运行时间中执行此操作,但理想情况下,我们希望在O(V + E)中运行 解决方案 我不完全确定这是否正 ..
发布时间:2020-11-20 05:53:47 其他开发

为什么使用邻接矩阵或邻接列表?

我刚刚开始学习图,而令我感到困惑的是为什么我们需要使用外部数据结构(如矩阵或列表)来存储图的哪些顶点与其他顶点连接顶点. 为什么每个顶点都不能像其在决策树中那样,仅保留对其所连接的顶点的引用?在我看来,这似乎更直观. 谢谢! 解决方案 好吧,这来自设计哲学.每当您有多对多关系时,您都会介绍一个经纪人来保持这种关系.这打破了关系,使管理代码和编写数据结构变得更加容易. 例如 ..
发布时间:2020-11-20 05:52:26 其他开发