Class Dijkstra

All Implemented Interfaces:
ActionListener, WindowListener, Runnable, EventListener

public class Dijkstra extends AlgorithmBase
  • Field Details

    • DTYPE_EPS

      final double DTYPE_EPS
      See Also:
    • NULL_IDX

      final int NULL_IDX
      See Also:
    • csgraph

    • 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
    • undirected_G_csr

      Dijkstra.csr_matrix undirected_G_csr
    • directed_SP

      double[][] directed_SP
    • directed_G_csr

      Dijkstra.csr_matrix directed_G_csr
    • unweighted_G_csr

      Dijkstra.csr_matrix unweighted_G_csr
    • directed_sparse_zero_G

      Dijkstra.csr_matrix directed_sparse_zero_G
    • directed_sparse_zero_SP

      double[][] directed_sparse_zero_SP
    • undirected_sparse_zero_G

      Dijkstra.csr_matrix undirected_sparse_zero_G
    • undirected_sparse_zero_SP

      double[][] undirected_sparse_zero_SP
    • directed_pred

      double[][] directed_pred
    • undirected_pred

      double[][] undirected_pred
  • Constructor Details

    • 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 Details

    • 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(PriorityQueue<Dijkstra.Pair<Double,Integer>> heap, Dijkstra.Pair<Double,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(PriorityQueue<Dijkstra.Pair<Double,Integer>> heap, Dijkstra.Pair<Double,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()