最近需要完成一个点之间寻径的任务。基本可以抽象为有向图的寻径,于是复习一下。
有向图的存储方法有两种,邻接表或者邻接矩阵,对于点来说,总的点数目较多且单个点的相邻点数目不会太多,所以选择用邻接表来实现。后续可能会引入点间距离(权重),故选用dfs方式
public class Line {public String start;public String end;public String getStart() {return start;}public void setStart(String start) {this.start = start;}public String getEnd() {return end;}public void setEnd(String end) {d = end;}public Line(String start,String end) {this.start=d=end;}}
//构建邻接表 使用的是String故使用Map若是转换为int 使用数组更佳private static List<List<String>> getAllRoad(String start, String end, List<Line> datas) { Map<String, List<String>> ljb = new HashMap<String, List<String>>(6);for (Line line : datas) {if (ainsKey(line.start)) {(line.start).d);} else {List<String>
本文发布于:2024-01-28 07:33:04,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/17063983885818.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |