A bit matrix which will help in minimisation when constructing cycle bases

Signed-off-by: Egon Willighagen <egonw@users.sourceforge.net>
Utility class for manipulating int[][] adjacency list graphs

Signed-off-by: Egon Willighagen <egonw@users.sourceforge.net>
Allow null containers in the ShortestPaths tool

Signed-off-by: Egon Willighagen <egonw@users.sourceforge.net>
Removing toAdjList from ShortestPaths and RingSearch the new utility class is now used

Signed-off-by: Egon Willighagen <egonw@users.sourceforge.net>
Allowing internal uses to specify an ordering for the ShortestPaths tool

Signed-off-by: Egon Willighagen <egonw@users.sourceforge.net>
A tool to discover the set of initial cycles. This super-set can then be used to extract the minimum cycle basis and relevant cycles

Signed-off-by: Egon Willighagen <egonw@users.sourceforge.net>
Extraction of a cycle basis using a greedy algorithm

Signed-off-by: Egon Willighagen <egonw@users.sourceforge.net>
Concise algorithm for relevant cycles

Signed-off-by: Egon Willighagen <egonw@users.sourceforge.net>
Including new test classes in the module suite

Signed-off-by: Egon Willighagen <egonw@users.sourceforge.net>
Minimum Cycle Basis implementation reusing the set of initial cycles

Signed-off-by: Egon Willighagen <egonw@users.sourceforge.net>
Small tweaks to the BitMatrix, elimination now returns the rank of the matrix directly.

Signed-off-by: Egon Willighagen <egonw@users.sourceforge.net>
Utility methods for creating the BitMatrix from cycle collections.

Signed-off-by: Egon Willighagen <egonw@users.sourceforge.net>
Using the new matrix utility and added a method to access the basis size directly.

Signed-off-by: Egon Willighagen <egonw@users.sourceforge.net>
The essential cycles of a graph.

Signed-off-by: Egon Willighagen <egonw@users.sourceforge.net>
Updating documentation of MCB

Signed-off-by: Egon Willighagen <egonw@users.sourceforge.net>
Resolvers review comments - also ensure correct copyright.

Signed-off-by: Egon Willighagen <egonw@users.sourceforge.net>
When ring membership is specified without a number, match any ring atom. Resolves bug 1168.

Change-Id: I3828029dcb4de440af630a30e1946d5438bab9e7
Signed-off-by: Egon Willighagen <egonw@users.sourceforge.net>

Conflicts:
	src/main/org/openscience/cdk/isomorphism/matchers/smarts/RingMembershipAtom.java
	src/test/org/openscience/cdk/smiles/smarts/parser/SMARTSSearchTest.java
Resolution for bug1269 - stop the hydrogen placer attempting to place hydrogens on null atoms.

Signed-off-by: Egon Willighagen <egonw@users.sourceforge.net>

Conflicts:
	src/test/org/openscience/cdk/layout/StructureDiagramGeneratorTest.java
Tidy up of HydrogenPlacer including test annotations and additional assertions about placed/unplaced atoms.

Signed-off-by: Egon Willighagen <egonw@users.sourceforge.net>

Conflicts:
	src/main/org/openscience/cdk/layout/HydrogenPlacer.java
	src/test/org/openscience/cdk/layout/HydrogenPlacerTest.java
Fixing up previous commit, s/Molecule/IAtomContainer/