Esempio n. 1
0
 /**
  * Main program.
  *
  * @param array $args Command-line arguments.
  * @return integer Zero on success; non-zero on failure.
  */
 public static function main($args)
 {
     printf("Application program number 11.\n");
     $status = 0;
     $g = new GraphAsMatrix(32);
     Application11::weightedGraphTest($g);
     $g = new GraphAsLists(32);
     Application11::weightedGraphTest($g);
     $g = new DigraphAsMatrix(32);
     Application11::weightedDigraphTest($g);
     $g = new DigraphAsLists(32);
     Application11::weightedDigraphTest($g);
     printf("Critical path analysis.\n");
     $g = new DigraphAsMatrix(10);
     for ($v = 0; $v < 10; ++$v) {
         $g->addVertex($v);
     }
     $g->addEdge(0, 1, box(3));
     $g->addEdge(1, 2, box(1));
     $g->addEdge(1, 3, box(4));
     $g->addEdge(2, 4, box(0));
     $g->addEdge(3, 4, box(0));
     $g->addEdge(4, 5, box(1));
     $g->addEdge(5, 6, box(9));
     $g->addEdge(5, 7, box(5));
     $g->addEdge(6, 8, box(0));
     $g->addEdge(7, 8, box(0));
     $g->addEdge(8, 9, box(2));
     printf("%s\n", str($g));
     $g2 = Algorithms::criticalPathAnalysis($g);
     printf("%s\n", str($g2));
     return $status;
 }