Class Dijkstra

  • All Implemented Interfaces:
    java.awt.event.ActionListener, java.awt.event.WindowListener, java.lang.Runnable, java.util.EventListener

    public class Dijkstra
    extends AlgorithmBase
    • Field Detail

      • directed

        boolean directed
      • indices

        int[] indices
      • return_predecessors

        boolean return_predecessors
      • unweighted

        boolean unweighted
      • limit

        double limit
      • min_only

        boolean min_only
      • dist_matrix

        double[][] dist_matrix
      • predecessor_matrix

        int[][] predecessor_matrix
      • source_matrix

        int[][] source_matrix
      • dist_matrix_1D

        double[] dist_matrix_1D
      • predecessor_matrix_1D

        int[] predecessor_matrix_1D
      • source_matrix_1D

        int[] source_matrix_1D
      • undirected_SP_limit_0

        double[][] undirected_SP_limit_0
      • undirected_SP_limit_2

        double[][] undirected_SP_limit_2
      • undirected_SP

        double[][] undirected_SP
      • directed_SP

        double[][] directed_SP
      • directed_sparse_zero_SP

        double[][] directed_sparse_zero_SP
      • undirected_sparse_zero_SP

        double[][] undirected_sparse_zero_SP
      • directed_pred

        double[][] directed_pred
      • undirected_pred

        double[][] undirected_pred
    • Constructor Detail

      • Dijkstra

        public Dijkstra()
      • Dijkstra

        public Dijkstra​(Dijkstra.csr_matrix csgraph,
                        boolean directed,
                        int[] indices,
                        boolean return_predecessors,
                        boolean unweighted,
                        double limit,
                        boolean min_only)
    • Method Detail

      • runAlgorithm

        public void runAlgorithm()
        Description copied from class: AlgorithmBase
        Actually runs the algorithm. Implemented by inheriting algorithms.
        Specified by:
        runAlgorithm in class AlgorithmBase
      • _dijkstra

        int _dijkstra​(int[] source_indices,
                      double[] csr_weights,
                      int[] csr_indices,
                      int[] csr_indptr,
                      double[] csrT_weights,
                      int[] csrT_indices,
                      int[] csrT_indptr,
                      double[][] dist_matrix,
                      int[][] pred,
                      int[][] sources,
                      double limit)
      • _dijkstra_scan_heap

        void _dijkstra_scan_heap​(java.util.PriorityQueue<Dijkstra.Pair<java.lang.Double,​java.lang.Integer>> heap,
                                 Dijkstra.Pair<java.lang.Double,​java.lang.Integer> v,
                                 double[] csr_weights,
                                 int[] csr_indices,
                                 int[] csr_indptr,
                                 double[][] dist_matrix,
                                 int[][] pred,
                                 boolean return_pred,
                                 int[][] sources,
                                 boolean return_source,
                                 double limit)
      • _dijkstra_multi_separate

        int _dijkstra_multi_separate​(int[] source_indices,
                                     double[] csr_weights,
                                     int[] csr_indices,
                                     int[] csr_indptr,
                                     double[] csrT_weights,
                                     int[] csrT_indices,
                                     int[] csrT_indptr,
                                     double[][] dist_matrix,
                                     int[][] pred,
                                     int[][] sources,
                                     double limit)
      • _dijkstra

        int _dijkstra​(int[] source_indices,
                      double[] csr_weights,
                      int[] csr_indices,
                      int[] csr_indptr,
                      double[] csrT_weights,
                      int[] csrT_indices,
                      int[] csrT_indptr,
                      double[] dist_matrix,
                      int[] pred,
                      int[] sources,
                      double limit)
      • _dijkstra_scan_heap

        void _dijkstra_scan_heap​(java.util.PriorityQueue<Dijkstra.Pair<java.lang.Double,​java.lang.Integer>> heap,
                                 Dijkstra.Pair<java.lang.Double,​java.lang.Integer> v,
                                 double[] csr_weights,
                                 int[] csr_indices,
                                 int[] csr_indptr,
                                 double[] dist_matrix,
                                 int[] pred,
                                 boolean return_pred,
                                 int[] sources,
                                 boolean return_source,
                                 double limit)
      • getDist_matrix_1D

        double[] getDist_matrix_1D()
      • getPredecessor_matrix_1D

        int[] getPredecessor_matrix_1D()
      • getSource_matrix_1D

        int[] getSource_matrix_1D()
      • getDistMatrix

        double[][] getDistMatrix()
      • getPredecessorMatrix

        int[][] getPredecessorMatrix()
      • csgraph_to_dense

        public double[][] csgraph_to_dense​(Dijkstra.csr_matrix csgraph,
                                           double null_value)
      • _populate_graph

        public void _populate_graph​(double[] data,
                                    int[] indices,
                                    int[] indptr,
                                    double[][] graph,
                                    double null_value)
      • construct_dist_matrix

        public double[][] construct_dist_matrix​(Dijkstra.csr_matrix graph,
                                                int[][] predecessors,
                                                boolean directed,
                                                double null_value)
      • _construct_dist_matrix

        void _construct_dist_matrix​(double[][] graph,
                                    int[][] pred,
                                    double[][] dist,
                                    boolean directed,
                                    double null_value)
      • create_test_arrays

        public void create_test_arrays()
      • test_dijkstra_limit

        public void test_dijkstra_limit()
      • test_directed_dijkstra

        public void test_directed_dijkstra()
      • test_undirected_dijkstra

        public void test_undirected_dijkstra()
      • test_directed_sparse_zero_dijkstra

        public void test_directed_sparse_zero_dijkstra()
      • test_undirected_sparse_zero_dijkstra

        public void test_undirected_sparse_zero_dijkstra()
      • test_dijkstra_indices_min_only

        public void test_dijkstra_indices_min_only()
      • test_predecessors_dijkstra

        public void test_predecessors_dijkstra()
      • test_unweighted_path_dijkstra

        public void test_unweighted_path_dijkstra()
      • test_dijkstra_construct_shortest_path

        public void test_dijkstra_construct_shortest_path()