标签: graph-algorithm

模式化(地铁)地图的算法

这是一个很长的镜头,但我想我可能会在开始肮脏的工作之前尝试.

我有一个项目来构建一个应用程序,对于一个定义的输入站(顶点)和线(边缘),即一些公共交通的真实地图,将给定的地图图式化为地铁地图.我已经对这个问题做了一些研究,这是一个相当于3-SAT问题的NP完全问题.我也有一些关于如何生成这样一张地图的理论思路,但它们还不够详细.

我正在寻找的是这个问题的任何其他现有解决方案,某种伪代码,(几乎)任何其他编程语言等中的一些真实代码,任何可以减少我需要花费在算法本身上的时间的东西,这将使我有更多的时间来处理应用程序的其他方面.

如果有人见过任何可以帮助我的东西,我会非常感激.

algorithm math graph-algorithm

6
推荐指数
1
解决办法
2891
查看次数

为什么DOM树oder预订,深度优先遍历?

为什么DOM树奥得preorder,depth-first traversal

与其他遍历如BFT相比,此设计选择有哪些优势?

我只是在研究DOM标准,并找到了前后的定义:

如果A和B在同一树中并且A以树顺序出现在B之前,则对象A在对象B之前.

如果A和B在同一树中,并且A以树顺序出现在B之后,则对象A跟随对象B.

就像大多数编程范例一样,Web平台具有有限的分层树结构,简称为树.树顺序是预订,深度优先遍历.

javascript algorithm dom graph-algorithm

6
推荐指数
1
解决办法
1517
查看次数

使用最大流算法查找网络的边缘连通性

我想找到使用最大流算法(Edmond Karp/Ford-Fulkerson算法)的无向图的边连通性(即要移除以断开图的最小边数),

我知道我可以通过查找图中每两个节点之间的最小最大流量来完成此任务,但这会导致O(| V | ^ 2)个流网络数量,

int Edge-Connectivity(Graph G){
    int min = infinite;
    for (Vertex u: G.V){
        for (Vertex v: G.V){
           if (u != v){ 
             //create directed graph Guv (a graph with directed edges and source u and sink v)
             //run Edmonds-Karp algorithm to find the maximum flow |f*|
             if (min > |f*|)
               min = |f*|;
           }    
         }
     }
     return min;
}
Run Code Online (Sandbox Code Playgroud)

但我想用| V |来做这件事 流网络(仅运行最大流算法O(| V |)次)而不是O(| V | ^ 2)

algorithm graph graph-algorithm

6
推荐指数
1
解决办法
5727
查看次数

从每个节点有效地找到图形的深度

我有一个问题,我要找到图表的最小可能深度,这意味着我必须找到每个节点的最大深度,并返回所有节点中的最小深度.显然,每个节点的一个简单的DFS就可以解决这个问题,但是当输入非常大的时候事情变得疯狂,那么DFS会变得效率低下(时间限制).我尝试将每个叶子的距离保持在内存中探索的节点,但这没有多大帮助.

如何有效地找到非常大的图的最小深度.值得注意的是,所讨论的图表没有循环.

algorithm graph graph-algorithm

6
推荐指数
1
解决办法
5081
查看次数

什么是BFS的时间复杂度取决于图表的表示?

我想知道BFS的时间复杂度是多少,如果我使用:

  • 邻接矩阵
  • 邻接名单
  • 边缘清单

它们的空间复杂性是否相同?

graph breadth-first-search graph-algorithm data-structures

6
推荐指数
2
解决办法
2万
查看次数

计算器遵循什么样的算法来找到正弦值?

如果有人给我一个38度的说法角度,我怎样才能找到正弦函数的值,而不是实际制作一个38度的直角三角形并测量边?我知道我可以使用一些三角函数来接近这些值,但那将是费力的.

我确信计算器和计算机中使用的算法不会采用这种方法.就像我需要找到pi一样,我将使用这样的算法:

一种非常有效的算法,用于计算pi的值

而不是得到一个指南针和一个标尺和绘制圆圈.

但是,我找不到任何正弦函数的算法.

有人可以帮我这个吗?

algorithm math trigonometry calculator graph-algorithm

6
推荐指数
1
解决办法
2026
查看次数

查找无向图的所有连通分量

我有一个对象列表(无向边),如下所示:

pairs = [

 pair:["a2", "a5"],
 pair:["a3", "a6"],
 pair:["a4", "a5"],
 pair:["a7", "a9"]

];
Run Code Online (Sandbox Code Playgroud)

我需要在不同的组中找到所有组件(连接的节点).所以从给定的对中我需要得到:

groups = [
  group1: ["a2", "a5", "a4"],
  group2: ["a3", "a6"],
  group3: ["a7", "a9"]
];
Run Code Online (Sandbox Code Playgroud)

我实际上在这里阅读了一些答案并用Google搜索,这就是我学习它的方法,称为"在图中查找连接的组件",但是找不到任何示例代码.我在Node.js上使用JavaScript,但任何其他语言的样本都会非常有用.谢谢.

javascript algorithm graph-theory graph-algorithm data-structures

6
推荐指数
2
解决办法
9984
查看次数

中介中心性Brandes算法

我正在阅读基于Brandes算法的中间性中心性.我对算法有一些疑问

  1. 该算法是否给出了精确的中介中心性或近似值?当我在Sage上运行BC时,它基于Brandes算法,它没有给出确切的值.比如14,我得到13.9956 ......

  2. 有人可以用更简单的术语解释"对依赖的累积"部分吗?

  3. 当"我们需要存储每个顶点的依赖项和前辈列表"时,该怎么做.是否在执行Dijkstra算法时完成此操作?

  4. 加权图表需要做什么?

algorithm graph graph-algorithm

6
推荐指数
1
解决办法
4585
查看次数

具有Chebyshev距离的Dijkstra算法

我一直在使用Dijkstra算法来寻找普林斯顿大学算法第2部分给出的图谱API中的最短路径,并且我已经找到了如何找到Chebyshev距离的路径.

即使Chebyshev只能以1的成本移动到节点的任何一侧,但对总成本没有影响,但根据图表,红色圆圈,为什么路径寻找线在没有直线移动的情况下移动曲折?

如果我使用A*算法会重复同样的事情吗?

红线应该是理论上的路径,但是线路是锯齿形的

algorithm a-star dijkstra shortest-path graph-algorithm

6
推荐指数
1
解决办法
369
查看次数

在位图中查找blob

我使用AForge.Net在位图中查找blob,我的位图如下:

在AForge.Net中搜索blob

我的问题是AForge.Net只检测到一个blob,实际上细线上有两个连接的blob.

我的问题是有一个算法可以确定它们之间有两个连接很薄的大blob?我如何在C#或VB中实现此算法?

样品图片:

样品图片

c# vb.net graphics graph graph-algorithm

6
推荐指数
1
解决办法
1321
查看次数