Class HungarianAlgorithm


  • public class HungarianAlgorithm
    extends java.lang.Object
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static void clearCovers​(int[] rowCover, int[] colCover)  
      static void convertPath​(int[][] mask, int[][] path, int count)  
      static double[][] copyOf​(double[][] original)  
      static void erasePrimes​(int[][] mask)  
      static double findLargest​(double[][] array)  
      static int findPrimeInRow​(int[][] mask, int row)  
      static double findSmallest​(double[][] cost, int[] rowCover, int[] colCover, double maxCost)  
      static int findStarInCol​(int[][] mask, int col)  
      static int[] findUncoveredZero​(int[] row_col, double[][] cost, int[] rowCover, int[] colCover)  
      static void generateRandomArray​(double[][] array, java.lang.String randomMethod)  
      static int hg_step1​(int step, double[][] cost)  
      static int hg_step2​(int step, double[][] cost, int[][] mask, int[] rowCover, int[] colCover)  
      static int hg_step3​(int step, int[][] mask, int[] colCover)  
      static int hg_step4​(int step, double[][] cost, int[][] mask, int[] rowCover, int[] colCover, int[] zero_RC)  
      static int hg_step5​(int step, int[][] mask, int[] rowCover, int[] colCover, int[] zero_RC)  
      static int hg_step6​(int step, double[][] cost, int[] rowCover, int[] colCover, double maxCost)  
      static int[][] hgAlgorithm​(double[][] array, java.lang.String sumType)  
      static void printTime​(double time)  
      static int readInput​(java.lang.String prompt)  
      static double[][] transpose​(double[][] array)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • HungarianAlgorithm

        public HungarianAlgorithm()
    • Method Detail

      • readInput

        public static int readInput​(java.lang.String prompt)
      • printTime

        public static void printTime​(double time)
      • generateRandomArray

        public static void generateRandomArray​(double[][] array,
                                               java.lang.String randomMethod)
      • findLargest

        public static double findLargest​(double[][] array)
      • transpose

        public static double[][] transpose​(double[][] array)
      • copyOf

        public static double[][] copyOf​(double[][] original)
      • hgAlgorithm

        public static int[][] hgAlgorithm​(double[][] array,
                                          java.lang.String sumType)
      • hg_step1

        public static int hg_step1​(int step,
                                   double[][] cost)
      • hg_step2

        public static int hg_step2​(int step,
                                   double[][] cost,
                                   int[][] mask,
                                   int[] rowCover,
                                   int[] colCover)
      • hg_step3

        public static int hg_step3​(int step,
                                   int[][] mask,
                                   int[] colCover)
      • hg_step4

        public static int hg_step4​(int step,
                                   double[][] cost,
                                   int[][] mask,
                                   int[] rowCover,
                                   int[] colCover,
                                   int[] zero_RC)
      • findUncoveredZero

        public static int[] findUncoveredZero​(int[] row_col,
                                              double[][] cost,
                                              int[] rowCover,
                                              int[] colCover)
      • hg_step5

        public static int hg_step5​(int step,
                                   int[][] mask,
                                   int[] rowCover,
                                   int[] colCover,
                                   int[] zero_RC)
      • findStarInCol

        public static int findStarInCol​(int[][] mask,
                                        int col)
      • findPrimeInRow

        public static int findPrimeInRow​(int[][] mask,
                                         int row)
      • convertPath

        public static void convertPath​(int[][] mask,
                                       int[][] path,
                                       int count)
      • erasePrimes

        public static void erasePrimes​(int[][] mask)
      • clearCovers

        public static void clearCovers​(int[] rowCover,
                                       int[] colCover)
      • hg_step6

        public static int hg_step6​(int step,
                                   double[][] cost,
                                   int[] rowCover,
                                   int[] colCover,
                                   double maxCost)
      • findSmallest

        public static double findSmallest​(double[][] cost,
                                          int[] rowCover,
                                          int[] colCover,
                                          double maxCost)