UML algos
This commit is contained in:
parent
cce3fcdca8
commit
04626fb1a7
1 changed files with 60 additions and 0 deletions
60
algos.puml
Normal file
60
algos.puml
Normal file
|
@ -0,0 +1,60 @@
|
||||||
|
@startuml
|
||||||
|
class ShortestPathAlgorithm{
|
||||||
|
- protected abstract ShortestPathSolution doRun();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
class BellmanFordAlgorithm {
|
||||||
|
- public class BellmanFordAlgorithm extends ShortestPathAlgorithm
|
||||||
|
}
|
||||||
|
|
||||||
|
class ShortestPathObserver {
|
||||||
|
- public void notifyOriginProcessed(Node node);
|
||||||
|
- public void notifyNodeReached(Node node);
|
||||||
|
- public void notifyNodeMarked(Node node);
|
||||||
|
- public void notifyDestinationReached(Node node);
|
||||||
|
}
|
||||||
|
|
||||||
|
class ShortestPathSolution {
|
||||||
|
+ private final Path path;
|
||||||
|
}
|
||||||
|
|
||||||
|
class ShortestPathTextObserver {
|
||||||
|
+ private final PrintStream stream;
|
||||||
|
|
||||||
|
- public ShortestPathTextObserver(PrintStream stream);
|
||||||
|
- public void notifyOriginProcessed(Node node);
|
||||||
|
- public void notifyNodeReached(Node node);
|
||||||
|
- public void notifyNodeMarked(Node node);
|
||||||
|
- public void notifyDestinationReached(Node node);
|
||||||
|
}
|
||||||
|
|
||||||
|
class AbstractAlgorithm {
|
||||||
|
+ protected final AbstractInputData data;
|
||||||
|
+ protected final ArrayList<Observer> observers;
|
||||||
|
}
|
||||||
|
|
||||||
|
class DijkstraAlgorithm {
|
||||||
|
}
|
||||||
|
|
||||||
|
class AStarAlgorithm {
|
||||||
|
}
|
||||||
|
|
||||||
|
class AbstractInputData {
|
||||||
|
+ public enum Mode;
|
||||||
|
+ private final Graph graph;
|
||||||
|
+ protected final ArcInspector arcInspector;
|
||||||
|
}
|
||||||
|
|
||||||
|
class BinaryHeap {
|
||||||
|
+ private int currentSize;
|
||||||
|
+ protected final ArrayList<E> array;
|
||||||
|
}
|
||||||
|
|
||||||
|
BellmanFordAlgorithm <|-- ShortestPathAlgorithm : extends
|
||||||
|
ShortestPathSolution <|-- ShortestPathObserver : extends
|
||||||
|
ShortestPathTextObserver <|-- ShortestPathObserver : extends
|
||||||
|
DijkstraAlgorithm <|-- ShortestPathAlgorithm : extends
|
||||||
|
AStarAlgorithm <|-- DijkstraAlgorithm : extends
|
||||||
|
ShortestPathAlgorithm <|-- AbstractAlgorithm : extends
|
||||||
|
@enduml
|
Loading…
Reference in a new issue