public abstract class EfficientPebbleAlgorithm extends PebbleAlgorithm
Constructor and Description |
---|
EfficientPebbleAlgorithm() |
Modifier and Type | Method and Description |
---|---|
boolean[] |
getCovered() |
java.lang.String |
getCurrentProblemData() |
void |
initializeMoreData()
Called by initializeData which is called by setPuzzleData.
|
abstract void |
reinitializeMoreData()
If resetWithThesePebbles is called, what else needs to be reinitialized before the algorithm can be run?
This is supposed to be much more efficient than calling initializeMoreData.
|
void |
resetWithThesePebbles(int[] newPebbles)
Use this method if you want to run another configuration of pebbles on the same graph and you want reset which
vertices are covered.
|
void |
resetWithThesePebbles(int[] newPebbles,
boolean[] covered)
Use this method if you want to run another configuration of pebbles on the same graph but you want to also
set which vertices are already covered.
|
getPebbleState, getProblemType, getProgressReport, getResult, initializeData, quit, setPebbleState
getNumberOfOperations, getState, isDone, isNotDone, isQuit, setProblemData, setState
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
argumentFormat, countsOperations, getVersion, parseArguments, runAlgorithm
public void initializeMoreData()
PebbleAlgorithm
initializeMoreData
in class PebbleAlgorithm
public java.lang.String getCurrentProblemData()
public boolean[] getCovered()
public void resetWithThesePebbles(int[] newPebbles, boolean[] covered)
newPebbles
- covered
- public void resetWithThesePebbles(int[] newPebbles)
newPebbles
- public abstract void reinitializeMoreData()