日期:2011-12-11  浏览次数:20797 次

PHP实现的格鲁斯卡尔算法(kruscal),如下代码:

  1. <?php 
  2.     require 'edge.php'; 
  3.     $a = array('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i'); 
  4.     $b = array('ab'=>'10', 'af'=>'11', 'gb'=>'16', 'fg'=>'17', 'bc'=>'18', 'bi'=>'12', 'ci'=>'8', 'cd'=>'22', 'di'=>'21', 'dg'=>'24', 'gh'=>'19', 'dh'=>'16', 'de'=>'20', 'eh'=>'7','fe'=>'26'); 
  5.       
  6.     $test = new Edge($a, $b); 
  7.     print_r($test->kruscal()); 
  8. ?> 
  9.  
  10. <?php  
  11.  
  12.     //边集数组的边类 
  13.     class EdgeArc{ 
  14.         private $begin;//起始点 
  15.         private $end;//结束点 
  16.         private