Configured project for Java 1.6.
Graph splitted into UndirectedGraph and AbstractGraph, and interface IGraph, to be able to easily add DirectedGraph later.
Renamed GraphSearch to UndirectedGraphSearch (and related unit test class).
Renamed GraphSearch to UndirectedGraphSearch (and related unit test class).
Restructed packages and formatted source code.
Connected components for undirected graphs.
Renamed IGraph.adjacentNodes to IGraph.neighbours.
Renamed graph operation classes (dropped 'Undirected' prefix).
Added support for Digraphs. Overrode toString for all current graph implementations (+ unit tests).
Added DFS and BFS for directed graphs (+ unit tests).
Added more efficient way to check if a graph is cyclic.
Added digraph's topological sort (+ unit test).
Now detects cycles at graph construction time to speed up methods related to cycles / edges-to-self.
Weighted undirected graphs and minimum spanning trees (+ unit tests).
Union-find implementations (+ unit tests).
Kruskal's algorithm for minimum spanning trees (+ unit test, + complexity analysis).
Moved binomial tree and related tests to 'collections' package.
Priority queue, binary heap and heap sort (+ unit tests).