问题标签 [digraphs]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
226 浏览

c - Digraph 和 trigraph 不能一起工作?

我正在学习 digraph 和 trigraph,这是我无法理解的代码。(是的,我承认它非常丑陋。)

这段代码可以编译:

这段代码也可以编译:

但是,以下两段代码都无法编译:

这确实让我感到困惑:由于前两段代码可以编译,我认为 digraph 和 trigraph 的扩展都发生在宏扩展之前。那么为什么有向图和三线图一起使用时不能编译呢?

0 投票
1 回答
1793 浏览

algorithm - 在有向图中寻找最短循环的算法

最短循环是具有最少边数的循环。

例如,给定一个图形:

在此处输入图像描述

最短周期为:ACDA、DABD

如果我只需要找到一个最短的循环,我会在每个顶点上运行 BFS 并跟踪最小的循环。但我不知道如何枚举所有最小的周期。

关于枚举有向图中的最小循环有一个类似的SO 问题,但是最小循环不是较小循环的联合。在这里,我只寻找边数最少的循环。

0 投票
1 回答
122 浏览

vim - ^J 有向图未找到

我跑过去:registers,注意到^J每行末尾都有一个。

以前从未见过它,我做了一些研究,发现这个页面描述了有向图。

^J然而,在我期望找到的地方,我找到^@了 ,并且我在运行时找到了同样的东西:digraphs

右边的描述告诉我这是一个换行符,考虑到它位于行尾,这是有道理^J的,但是为什么两个源都将 LF 映射到^@if^@已经分配给 NULL 有向图。

这是一个错字吗?

更新: LF被翻译成NULL

0 投票
1 回答
102 浏览

python - 时间标记的有向图实现

我有一系列包含相同节点但不同边的有向图 -动态/时间图- 并且一直在寻找如何最好地实现这一点的想法(最好是 Matlab 或 Python)。

我想构建一个有向图式结构,其中每个节点在每个时间步长(A0 -> A1 -> 等)上连接到自身,并且在该时间步长上连接到任何其他边。例如,在具有节点 {A, B} 的有向图中,在时间 t_0 时,有向图断开连接。在时间 t_1,从 A 到 B 有一条边。我想按照以下方式创建一些东西:A0 -> {A1,B1}。B0 -> {B1}。我的问题是我无法使用 digraph 函数来存储节点时间步长。我不想使用不同的节点来表示不同的时间步,因为它使比较变得太困难了。例如,我想指向“相同”节点,但存储一个额外的时间变量,我可以在使用广度优先搜索遍历我的有向图时访问该变量。

这是我希望实现的图片!

有任何想法吗?

谢谢你的帮助!

0 投票
1 回答
203 浏览

c++ - 从文件构建有向图

我需要读入一个文件并从中构建一个有向图。我正在使用 C++。该文件如下所示:

第一行表示从 SFA 到 SLC 的航班为 700 英里,费用为 59 美元,每条线路遵循此公式。我很难找到一个好的方法来做到这一点。任何帮助将不胜感激。先感谢您。

0 投票
1 回答
339 浏览

matlab - 如何在有向图函数中使用非正整数作为数字节点 ID?

对于digraph,我想使用非正整数作为数字节点 ID。 例如;

如果我运行它,我会收到:

使用 digraph/addedge>validateNodeIDs 时出错(第 155 行)

数字节点 ID 必须是正整数。

0 投票
1 回答
2290 浏览

c++ - 声明 lambda 时 <: 和 :> 是什么意思?

我偶然发现了以下 lambda 语法,但我不明白:

上面的程序产生一个输出:

你能解释一下,是什么<:&:> {/* ... */}意思?是否可以通过这种方式声明一个带有参数的 lambda?

0 投票
1 回答
400 浏览

java - 具有强连通图的 Dijkstra 最短路径

假设我有一个工作 dijkstra 的最短路径方法,我如何使用它来确定有向图是否是强连接的?

0 投票
2 回答
80 浏览

graphviz - 如何约束连接的顶点以共享一条边?

由于生成信息的方式,我的结果如下所示:

在此处输入图像描述

我更希望看到的是:

在此处输入图像描述

有没有办法告诉整个有向图合并边缘,
并在可能的情况下创建双向边缘?

我想保持生成的数据,但添加几行来创建第二个图像。

0 投票
0 回答
173 浏览

r - 节点访问受限的最短路径

我对经典的“最短路径”问题有一个变体,但我不知道如何解决它。我的图拓扑是这样的:

有一个源和一个汇。

其他节点由字母和下标整数指定(例如,A1,B1,C1,A2,B2,C2,....A30,B30,C30)。每个可能的字母/整数组合都有一个节点。

从源到 A1、B1、C1 中的每一个都有一个零成本有向边。从具有最大整数的每个节点到汇点都有一条零成本有向边(例如,当整数达到 30 时,从 A30 到“最终目标节点”有一条零成本有向边,并且B30 和 C30 的相同边)。

从每个节点有一个有向的加权边到另一个节点的每个其他字母具有更大的整数。

例如,可能存在从 A1 到 B3 和从 A1 到 C10 的有向加权边缘;但是,您不会看到从 A1 到 B3 和 B5 的边,因为目的地都是“B”边。没有边从一个带字母的节点移动到另一个带字母的节点(例如,没有 B3 到 B10),也没有边从具有较大整数的节点移动到具有较低整数的节点(例如,没有 B30至 C10)。

我知道我可以使用 Djikstra 的算法找到从起点到终点的奇异最短路径,但我的目标有些不同。我想要:

1)找到一条从源到接收器的最短路径,该路径访问每个“字母”一次且仅一次。只要我访问所有字母,任何整数组都可以工作。例如。访问source和sink之间的节点集A1、B22和C27是可以接受的;访问 A10、A15、B22 不是。2) 找到两条路径,它们组合起来访问每个字母一次且仅访问一次。如果“字母集”是 ABCDEF,则一条路线可以访问 ABD 和另一条 CEF;但我们不能让一条路线访问 ABCD 而另一条路线访问 DEF,因为 D 会重叠。目标是确定两条找到最短路径的路径——我并不关心总时间,而是关心这个极小值。3) 与 #2 相同的问题,但有 3 条路径、4 条路径等。

我假设我可以制作一个非常复杂的整数程序,但不知道是否有可用的最短路径算法来解决这个问题。如果它是现成的 R 包中的奖励积分。

拉尔夫