摘要: k短路问题是一个比较经典的问题,求从a到b的第k短的路径。 https://www.luogu.com.cn/problem/P4467 以这题为例子: 解决k短路的算法之一:A星算法,这个算法复杂度为O(nklogn)。 A星算法设立了一个评估函数g(x) = f(x) + h(x)。 f(x) 阅读全文
posted @ 2022-02-24 16:09 levill 阅读(272) 评论(0) 推荐(0) 编辑
摘要: 最短路很重要的一部分就是堆的实现,java也有自带的优先队列。 通过实现一个comparator的接口,来确定排序的优先级。 这里很重要的一个函数就是compare函数:和c++不同它返回的不是大小的判断,而是差值。 public int compare(int x, int y) { return 阅读全文
posted @ 2022-02-24 08:57 levill 阅读(22) 评论(0) 推荐(0) 编辑