topological-sort相关内容

大型 DAG 上的拓扑排序示例

我正在寻找在大图大小上执行拓扑排序的现实世界应用程序. 我认为您可以找到此类实例的一些领域是生物信息学、依赖性解析、数据库、硬件设计、数据仓库......但我希望你们中的一些人可能已经遇到或听说过任何特定的算法/项目/应用程序/需要 topsort 的数据集. 即使数据/项目可能无法公开访问,任何提示(以及对潜在图形大小数量级的估计)也可能会有所帮助. 解决方案 以下是我目前看 ..

如何按依赖对依赖的对象进行排序

我有一个收藏: 列表>依赖层次结构; 对中的第一个项目是某个对象(项目),第二个是第一个所依赖的相同类型对象的集合.我想按依赖顺序获取 List ,因此没有项目依赖于第一个元素等等(没有循环依赖!). 输入: Item4 依赖于 Item3 和 Item5Item3 依赖于 Item1Item1 不依赖于任何一个Item2 依赖 ..
发布时间:2022-01-15 22:19:46 C#/.NET

计算依赖图偏序的算法

我正在尝试计算依赖图的部分“拓扑排序",准确地说,它实际上是一个 DAG(有向无环图);从而并行执行任务而不会产生依赖冲突. 我想出了这个简单的算法,因为我在 Google 上找到的算法并没有那么有用(我一直只找到自己并行运行以计算正常拓扑排序的算法). 访问(节点){最大距离 = 0;foreach (e : in_edge(node)){maxdist = max(maxdist, 1 ..

拓扑排序以找到到 t 的路径数

我必须开发与拓扑排序相关的 O(|V|+|E|) 算法,该算法在有向无环图 (DAG) 中确定从图的每个顶点到 t 的路径数(t 是出度为 0 的节点).我对 DFS 做了如下修改: DFS(G,t):对于每个顶点 u ∈ V do颜色(u)=白色path_to_t(u) = 0对于每个顶点 u ∈ V do如果颜色(u)==白色那么DFS-访问(u,t)DFS-访问(u,t):颜色(u) = ..
发布时间:2021-12-24 14:35:11 其他开发

如何按依赖项对依赖对象进行排序

我有一个收藏: List>依赖层次结构; 成对中的第一项是某个对象(项目),第二项是第一个所依赖的相同类型对象的集合.我想按依赖顺序获取 List,因此没有依赖于第一个元素等的项目(没有循环依赖!). 输入: Item4 依赖于 Item3 和 Item5Item3 依赖于 Item1Item1 不依赖于任何一个Item2 依赖于 Item4Item5 不依赖于任何一个 结果: ..
发布时间:2021-12-10 10:50:11 C#/.NET

有向无环图的拓扑排序

有没有一种算法,给定一个未加权的有向无环图,它将所有节点分类到节点集列表中,这样 保留拓扑顺序(即,对于所有边 u-> v , v 出现在比 u 靠下的集合中代码>)和 列表的长度最小. 这个问题有名字吗? 示例 下面的图形可能是 [1],[2、3],[4、5],[6、7] 一种替代解决方案是 [1],[2、3],[4],[5、6、7] 解决方案 考虑标 ..

JavaScript-根据依赖关系树排序

我必须显示一组相互依赖的图像.例如 图像A不依赖任何人图片B取决于A图像C取决于A和B图像D取决于F图像E取决于D和C图片F取决于任何人 我有一个像这样的javascript对象: const imageDependencies = {一种: [],B:['A'],出租车'],D:['F'],E:['D','C'],F: []} 我需要让我所有的图像名称按其依赖关系排序.该示例的结果 ..
发布时间:2021-04-09 20:20:10 前端开发

合并数组并保持排序

注意 已根据@Kaddath的良好建议对问题进行了编辑,以突出显示以下事实:排序不必是字母顺序的,而是取决于项在数组中的位置. 我有一个数组数组,其中每个数组都基于给定的顺序,但是它们可以有所不同. 例如,基本顺序是 X->D->-B ,这是我的数组数组: const数组= [['X','D','H','B'],['X','D','K','Z','H','B','A'],[' ..
发布时间:2021-04-09 20:17:06 前端开发

如何从给定图中的项目子集进行拓扑排序?

我有以下问题:给您一个待办事项列表,其中某些项目取决于其他项目.编写一个函数,其中包含这些待办事项的子集,并返回要完成的所有待办事项的有序列表.给定的子集包含一个或多个这些待办事项. 我使用Kahn算法编写了一种拓扑排序,将给出的列表变成了邻接列表.当我有待办事项列表时,我开始将它们添加到另一个数组中,并在它包含给定子集中的所有项目时停止. 这行得通,但是我觉得这有点笨拙且效率低下,因 ..
发布时间:2020-08-22 19:16:00 前端开发

如何排序对象? (画家算法)

所以我有4个矩形,因此我尝试应用一种排序算法( painters算法)知道我需要先绘制(在3d中)哪些形状,然后再绘制哪些形状. 注意:相机在右下角: 正确的顺序为:紫色,红色,蓝色,绿色(用于绘制当然颠倒的顺序). 因此,我已经实现了一种算法,该算法可以创建如下内容: 列出的每个对象都有正确的前辈和前辈. ITEM: red predecessor: - suc ..
发布时间:2020-07-11 02:34:52 前端开发

尾递归算法,用于生成图中的所有拓扑顺序

给出一个图,我需要生成所有拓扑顺序. 例如,给定下图: 我要生成所有拓扑顺序,这些顺序是: 2 4 7 5 2 7 4 5 2 4 5 7 因为可能存在许多拓扑顺序,所以我需要延迟生成它们.当前,我有一个递归的有效实现,并且可以在scala-graph库的顶部进行工作: import scalax.collection.Graph import scalax.colle ..
发布时间:2020-07-11 02:34:49 其他开发

大型DAG的拓扑排序示例

我正在寻找对大图大小执行拓扑排序的现实应用. 我在其中成像的某些字段可能是生物信息学,依赖性解析,数据库,硬件设计,数据仓库...,但我希望你们中的某些人可能遇到或听说过任何特定的算法/项目/应用程序/需要topsort的数据集. 即使数据/项目可能无法公开访问,任何提示(以及潜在图形大小的数量级估计)也可能会有所帮助. 解决方案 以下是到目前为止我看到的一些有关拓扑排序的示例 ..

Python:对依赖项列表进行排序

如果使用内置的sorted()函数可以解决我的问题,或者我需要自己解决问题,我正在尝试解决-使用cmp的老派相对容易. 我的数据集如下: x = [ ('business', Set('fleet','address')) ('device', Set('business','model','status','pack')) ('txn', Set('device','business ..
发布时间:2020-07-08 10:10:29 Python

是否在DAG的所有拓扑类型上使用随机算法?

没有人知道用于生成DAG拓扑类型的随机算法,其中算法的每次调用都具有生成每个DAG有效拓扑类型的非零概率. > 至关重要的是,该算法不能排除任何有效的拓扑类别,因为它是较大算法的一部分,如果有足够的迭代次数,则必须证明该算法能够探索给定DAG的所有拓扑类别. 有人知道这种算法是否已经开发出来吗? (或者,如果有人知道可以保证生成给定DAG的 all 拓扑类型的合理有效算法,我可能可 ..

确定有向图是否具有唯一的拓扑顺序?

我正在尝试为算法创建伪代码,该伪代码将能够确定有向图是否具有唯一的拓扑顺序。我已经为拓扑排序提出了以下伪代码,但是为了确定有向图是否具有唯一的拓扑次序,我必须添加或编辑什么? 输入:图G 输出:包含排序顶点 的列表L定义了一个空列表L; 创建一个堆栈Stack; 将所有没有输入边的顶点推入Stack; 而Stack不为空时 v←Stack.pop(); 将v添加到列表L; ..
发布时间:2020-06-03 21:40:34 其他开发

将基于DFS的递归拓扑排序转换为非递归算法(不丢失周期检测)

这是维基百科中用于拓扑排序的伪代码: L←将包含已排序节点$ b $的空列表b当有未标记的节点时 选择一个未标记的节点n visit(n) 函数visit(节点n) 如果n具有临时标记,则停止(不是DAG) ) 如果n未被标记(即尚未被访问),则 标记n临时将每个节点m的n从$ n到m的 做 visit(m) 标记n永久 未标记n临时 将L添加到L的头部 我想以非递 ..
发布时间:2020-06-03 21:08:56 C/C++开发