我正在研究一个A*算法。这是寻路方法的代码。作为参考,这是我正在使用的板:每种颜色的瓷砖代表不同的启发式数值。由于某些未知的原因,它每次都会找到一条路径,只是并不总是正确的路径。以下是寻路方法的代码。如果任何人需要任何澄清,我很乐意提供。
public List<Point> findPath(Point start, Point end) {
//declarations and instantiations
List<PathState> closedList = new ArrayList<PathState>(); //the
图算法问题给你。
我有一个图表,用来表示一个道路网络。因此,在它的循环(一个回旋将是一个微不足道的)。还有一些边缘是双向的,有些是单向的(单向街道).边是按长度加权的。
假设我有两个节点,并且已经计算了它们之间的最短路径。我想要做的是找到连接两个节点的所有其他路径,它们都比某个距离还要短。
下面是ascii技术中的一个例子,其中我用字母标记了边,用数字标记了节点。
F
5----6
E / \ G
3--------4
/ D \
B / \ C
1--------------2
我有一个非常大的向量,它存储了100000个不同的值,范围从0到50000。它们表示硬盘上的柱面,我想根据用于磁盘调度的三种不同算法对这个向量进行排序。到目前为止,我从一个文件中读取了这100000个值,将它们存储到一个向量中,然后根据所需的算法(FCFS,SCAN,SSTF)对它们进行排序。.The的问题是,它花费的时间太长了,因为我用的是最没有创意的方法:
public static Vector<Integer> sortSSTF(Vector<Integer> array){
Vector<Integer> positions = new Ve
我正在学习different的代码,我已经准备了下面的代码,所依据的是与different略有不同的想法。现在,在许多网站上,我看到了使用提取min和布尔数组访问的边缘。我没有用过,我的答案也是正确的。是否有任何测试用例或场景让我的algo无法工作。
import java.util.*;
class ShortestPath2 {
static int Ar[][];
static int dist[];
static int nodes;
public static void djikstra(int sou