0

在这里看到的 PriorityVertex 类型是什么?我也在写一个 getMinSpanningTree 方法。

Prim 算法

4

1 回答 1

0

PriorityVertex示例中的 只是提问者创建的一个类。它是图中顶点的简单实现。

这个类实现了Comparable接口。原因是PriorityQueue必须比较它的元素。这可以通过两种方式实现:

  • 元素必须要么实现Comparable接口
  • 或者必须将aComparator传递给PriorityQueue,它告诉队列如何比较元素。

所以这个PriorityVertex大致如下所示:

class PriorityVertex implements Comparable<PriorityVertex>
{
    private float priority;

    // Setters, getters ... whatever the vertex needs
    ...

    // Implementation of the Comparable interface:
    @Override 
    public int compareTo(PriorityVertex other)
    {
        return Float.compare(this.priority, other.priority);
    }
}
于 2014-05-10T15:56:03.857 回答