标签: shortest

如何在这种类型的迷宫中寻找最短路径

红色

Red Dot - Represents the initial location
Black Dot - Already occupied
Green - Free to occupy
Destination - Boundry of the matrix [which means either x = 0 or y = 0 or x = 8 or y = 8]
Run Code Online (Sandbox Code Playgroud)

例如. 例:

red dot可以一次只放置一个动作,并且可以移动到连接到它的绿色六个圆圈中的一个.计算这种迷宫中最短路径的最快方法是什么.

algorithm path breadth-first-search shortest-path shortest

16
推荐指数
1
解决办法
930
查看次数

Java - 在距离加权映射中查找2个点之间的最短路径

我需要一种算法来查找地图中两点之间的最短路径,其中道路距离由数字表示.

给出的内容:开始城市目的地城市Z.

城市间距离列表:

A - B:10
F - K:23
R - M:8
K - O:40
Z - P:18
J - K:25
D - B:11
M - A:8
P - R:15

我想我可以使用Dijkstra的算法,但它找到了到所有目的地的最短距离.不只是一个.

任何建议表示赞赏.

java path shortest

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

A*算法无法正常工作

我的A*算法实现需要一些帮助.当我运行算法时,它确实找到了目标,但路径肯定不是最短的:-P

这是我的代码,请帮我发现错误!我认为可能是重建路径是我的问题,但我不确定.

public class Pathfinder {

public List<Node> aStar(Node start, Node goal, WeightedGraph graph) {
    Node x, y;
    int tentative_g_score;
    boolean tentative_is_better;

    FScoreComparator comparator = new FScoreComparator();
    List<Node> closedset = new ArrayList<Node>();
    Queue<Node> openset = new PriorityQueue<Node>(10, comparator);
    openset.add(start);

    start.g_score = 0;
    start.h_score = heuristic_cost_estimate(start, goal);
    start.f_score = start.h_score;

    while (!openset.isEmpty()) {
        x = openset.peek();

        if (x == goal) {
            return reconstruct_path(goal);
        }

        x = openset.remove();
        closedset.add(x);

        for (Edge e : graph.adj(x)) {

            if (e.v == x) {
                y = …
Run Code Online (Sandbox Code Playgroud)

java algorithm path a-star shortest

8
推荐指数
1
解决办法
1120
查看次数

如何在flex(词法分析器)中启用最短匹配规则?

默认情况下,flex使用最长匹配规则.有没有办法覆盖这种行为,使其匹配最短的序列?

谢谢

match shortest flex-lexer

8
推荐指数
1
解决办法
801
查看次数

要求算法找到N Knights全局最短路径

我已经对一个奇怪的问题进行了测试.

我有一个无界的棋盘,N个骑士的起始位置和N个目标位置.

任务是找到所有骑士到达所有目标位置的最小移动次数.

我知道单个骑士的最短路径问题可以通过广度优先搜索来解决,但是如何解决多个骑士呢?

抱歉我的英语,我很少使用它.

algorithm chess shortest

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

使用 SPFA 算法检测负循环

在具有负权重和正权重的有向图中使用下面的 SPFA 算法,我们如何检测负循环?

\n\n

程序最短路径更快算法(G, s)

\n\n
  1    for each vertex v \xe2\x89\xa0 s in V(G)\n  2        d(v) := \xe2\x88\x9e\n  3    d(s) := 0\n  4    push s into Q\n  5    while Q is not empty\n  6        u := pop Q\n  7        for each edge (u, v) in E(G)\n  8            if d(u) + w(u, v) < d(v) then\n  9                d(v) := d(u) + w(u, v)\n 10                if v is not in Q then\n 11                    push v into Q\n
Run Code Online (Sandbox Code Playgroud)\n

algorithm path cycle shortest

5
推荐指数
1
解决办法
2498
查看次数

地图中的最短路径

我使用mysql中的规范化邻接列表设计了加权图.现在我需要找到两个给定节点之间的最短路径.

我试图在PHP中使用Dijkstra但我无法实现它(对我来说太难了).我觉得另一个问题是,如果我使用Dijkstra,我需要考虑所有节点,这在大图中可能效率很低.那么有人有关于上述问题的代码吗?如果有人至少向我展示了解决这个问题的方法,那将会很棒.我已经被困在这里差不多一个星期了.请帮忙.

php path dijkstra shortest

4
推荐指数
1
解决办法
6372
查看次数

在networkx图中查找给定长度的所有路径/遍历

我正在使用networkx并尝试在图中找到长度为3的所有步行,特别是具有三条边的路径.我试图在networkx文档中找到有关算法的一些信息,但我只能找到图中最短路径的算法.我可以通过特定节点找到路径的长度,例如,如果最短路径为14 - > 15 - > 16,则通过节点14 - > 11 - > 12 - > 16的路径?这是一个示例http://i62.tinypic.com/2ekj602.jpg的图形图像

python path shortest networkx

4
推荐指数
1
解决办法
6830
查看次数

单行任务:检查范围 - CodeWars(使用 JavaScript 的方法)

任务

给定一个整数数组 a 和两个整数 x 和 y。计算数组中元素的数量,使得 `x ? [i] ? y,其中 i 是元素的从 0 开始的索引。

代码限制

少于 48 个字符。

例子

对于 a = [2, 5, 6, 7, 1, 3, 4, 11, 56, 49],x = 1 和 y = 7,输出应为 7。

应计算元素 2、5、6、7、1、3、4。

我累了filterreduce如果不让它超过 48 个字符想不出任何其他可能的方法。

这是通过使用 filter

checkRange=(a,x,y)=>a.filter(i=>i>=x&&i<=y).length
Run Code Online (Sandbox Code Playgroud)

使用 reduce

checkRange=(a,x,y)=>a.reduce((c,i)=>i>=x&&i<=y?++c:c,0);
Run Code Online (Sandbox Code Playgroud)

函数调用示例

a =[95,92,27,55,55,20,40,8,7,45,87,14,44,35,64,84,95,85,69,47,53,49,95,54,97,7,67,31,76,97,7,24,82,61,10,34,34,85,66,96,65,2,84,4,68,74,46,50]
    x = 64
    y = 76

checkRange(a,x,y) // Expected: 8
Run Code Online (Sandbox Code Playgroud)

到目前为止,我已经收到了 50 多个字符……我需要将它们减少到 47 个。

到目前为止的一些提示......

  • 使用另一种更短的方法
  • 计算索引值,而不是使用length.
  • 不需要 …

javascript methods shortest

4
推荐指数
1
解决办法
1099
查看次数

优化 Dijkstra 以获得密集图?

除了 Dijkstra 之外,还有其他方法可以计算近乎完整的图的最短路径吗?我有大约 8,000 个节点和大约 1800 万条边。我已经浏览了“地图上的 a 到 b”线程并决定使用 Dijkstra。我使用 Boost::Graph 库在 Perl 中编写了脚本。但结果并不是我所期望的。使用调用 $graph->dijkstra_shortest_path($start_node,$end_node); 计算一条最短路径大约需要 10 多分钟。

我知道有很多优势,这可能是运行时间缓慢的原因。我是死在水里了吗?还有其他方法可以加快这个速度吗?

graph path dijkstra shortest

3
推荐指数
1
解决办法
7825
查看次数