/** * Returns the optimal path of transformation * * @param firstWordID The ID of the first word * @param secondWordID The ID of the second word * @return A map that contains HashPoints as keys. These are (x,y) coordinates that have unique * hash values for their x,y coordinates. The corresponding Integer will indicate the * transformation action done at this point to yield one string out of the other. (As * described by the <code>ACTION_*</code> constants x can be interpreted as a columns and y as * a row in the Levenshtein matrix. (starting at origin (0,0)) * @throws IndexOutOfBoundsException If at least one of the ID does not exist */ public Map<HashPoint, Integer> levenshteinPath(int firstWordID, int secondWordID) throws IndexOutOfBoundsException { return Levenshtein.getIdealPath(getLevenshteinMatrix(firstWordID, secondWordID)); }