A-STAR最短路径计算
A-STAR 寻找一种静态路网(本算法中为二维数组)中求解最短路径的解决办法
我们可以通过: var element = new Element();
来创建二维数组的一个节点。
element自身包含了一些方法:
element.setStatus(2);//设置节点的状态,当status>0,则该区域不可通过。 element.getX();//获取节点在二维数组的横座标。 element.getY();//获取节点在二维数组的纵座标。 element.atLeft(target);//判断element是否在target的左边。 其他方法见: element.js
下面我们初始化一个静态路网(二维数组)。
var row = col =20; var elements = createElements(row, col, { afterCreate : function() { if (Math.random() * 10 > 9) { this.setStatus(3); //设置一些节点的状态为3,即死节点 } } }); 这样elements就是我们的静态路网。 createElements详见:createElements.js
获取两个节点之间的最短距离,startEl->endEl.
var startEl = elements[1][1],endEl = elements[17][19];//假设这两个都是空节点 var pathArray = getPath(startEl,endEl)[endEl];
pathArray则为startEl到endEl之间的有效节点数组。
评论
k-shortest-paths最短路径算法实现
这是一个实现了Yen的排名算法的无环路径的项目,关于该算法的描述请看这里。提供C#和Java语言两种版本。
k-shortest-paths最短路径算法实现
0
LPATHBench最长路径计算的性能测试
LPATHBench是一个用来测试各种语言在计算最长路径时的性能表现的项目。LPATH基准各种语言中最长路径问题的基准shrunbench.sh8981x86x86html在本地运行基准测试。 shr
LPATHBench最长路径计算的性能测试
0
memoize-path文件路径
memoize-path是通过memoized路径段来创建的可重复使用、可堆叠的文件路径。安装:$ npm install memoize-path --save使用(示例):var memo = r
memoize-path文件路径
0