File tree Expand file tree Collapse file tree 3 files changed +12
-5
lines changed Expand file tree Collapse file tree 3 files changed +12
-5
lines changed Original file line number Diff line number Diff line change 11package lv .id .jc .algorithm .graph ;
22
3+ import java .util .ArrayDeque ;
34import java .util .HashMap ;
45import java .util .HashSet ;
56import java .util .LinkedList ;
1112
1213/**
1314 * Algorithm for finding the shortest paths between nodes in a graph.
14- *
15+ * <p>
1516 * The algorithm doesn't take into account the distance between nodes.
1617 *
17- * @author Jegors Čemisovs
1818 * @param <T> the type of vertex
19+ * @author Jegors Čemisovs
1920 * @since 1.0
2021 */
2122public class BreadthFirstSearch <T > implements SearchAlgorithm <T > {
2223
2324 @ Override
2425 public List <T > findPath (Graph <T > graph , T source , T target ) {
25- var queue = new LinkedList <T >();
26+ var queue = new ArrayDeque <T >();
2627 var visited = new HashSet <T >();
2728 var previous = new HashMap <T , T >();
2829 queue .add (source );
Original file line number Diff line number Diff line change 11package lv .id .jc .algorithm .graph ;
22
3+ import java .util .ArrayDeque ;
34import java .util .HashMap ;
45import java .util .LinkedList ;
56import java .util .List ;
1213 * <p>
1314 * The algorithm uses information about edge's distance to find the fastest path.
1415 *
15- * @author Jegors Čemisovs
1616 * @param <T> the type of vertex
17+ * @author Jegors Čemisovs
1718 * @since 1.0
1819 */
1920public class DijkstrasAlgorithm <T > implements SearchAlgorithm <T > {
2021
2122 @ Override
2223 public List <T > findPath (Graph <T > graph , T source , T target ) {
23- var queue = new LinkedList <T >();
24+ var queue = new ArrayDeque <T >();
2425 var distances = new HashMap <T , Double >();
2526 var previous = new HashMap <T , T >();
2627 queue .add (source );
Original file line number Diff line number Diff line change 1+ /**
2+ * The module contains an interface for a graph and an interface for a graph search algorithm.
3+ * There is an implementation of two search algorithms:
4+ * Dijkstra's algorithm and Breadth First Search algorithm.
5+ */
16module lv .id .jc .algorithm .graph {
27 exports lv .id .jc .algorithm .graph ;
38}
You can’t perform that action at this time.
0 commit comments