Java 创建一个图表,以便我可以对其应用统一成本搜索
你好,我正在寻找两个城市之间的最短路径,我需要使用UCS算法。我在实现图表时遇到问题,我不知道我是否正确。到目前为止,我已经:Java 创建一个图表,以便我可以对其应用统一成本搜索,java,search,graph,Java,Search,Graph,你好,我正在寻找两个城市之间的最短路径,我需要使用UCS算法。我在实现图表时遇到问题,我不知道我是否正确。到目前为止,我已经: public class City { final private String id; public City(String id) { this.id = id; } public String getId() { return id; } @Override
public class City {
final private String id;
public City(String id) {
this.id = id;
}
public String getId() {
return id;
}
@Override
public String toString() {
return id;
}
}
public class Route {
private final City node;
private final int cost;
public Route(City node, int cost) {
this.node = node;
this.cost = cost;
}
public City getCity() {
return node;
}
public int getCost() {
return cost;
}
@Override
public String toString() {
return "{" + node + ", " + cost + "}";
}
}
这听起来像是一个家庭作业问题,所以我不会直接告诉你如何解决这个问题。相反,让我建议一种看待这个问题的方法,它可以让你自己找到答案 退一步,检查算法。问自己以下问题:
我想你应该拿一支铅笔和一张纸把问题画出来。根据我的经验,这是一种处理新问题的好方法,并获得我所需要的理解,从而提出一个能够提供解决方案的程序。你说得对,这是家庭作业。我不需要任何代码,只是需要一点帮助来指导我找到最终的解决方案。我很高兴你告诉我,到目前为止我所做的一切都还可以。我想我应该有一个HashMap来存储每个节点和它的邻居,但是我不知道怎么写。如果我在我的Graph类中这样写可以吗:private MapI我认为您使用HashMap的方法是正确的。你有了一个想法,试着写一些代码,看看事情是否变得太复杂或明显错误。不要害怕在不知道事情是否可行的情况下尝试——制定一个计划,实施它,检查发生了什么,并从经验中学习。我会尝试,如果我有任何问题,我会回来寻求帮助