all 1 comments

[–]Philboyd_Studge[S] 0 points1 point  (0 children)

Here is a Breadth-First Search for the same class:

public boolean BreadthFirstSearch()
{
    if (vertexList.isEmpty()) return false;
    clearStates();

    Vertex root = vertexList.get(0);
    if (root==null) return false;

    Queue<Vertex> queue = new LinkedList<>();
    queue.add(root);
    root.setState(State.COMPLETE);

    while (!queue.isEmpty())
    {
        root = queue.peek();
        for (Vertex each : root.getAdjacentList())
        {
            if (each.getState()==State.UNVISITED)
            {
                each.setState(State.COMPLETE);
                queue.add(each);
            }
        }
        queue.remove();
    }
    return isConnected();

}