a点 ->b点都有坐标!!中间也有可能有很多连路!!请问怎么用php实现啊!类似 floyd 算法

解决方案 »

  1.   

    每个点 都有坐标 相连距离是可以得到的return (int)sqrt(pow(($a[0]-$b[0]),2)+pow(($a[1]-$b[1]),2));
      

  2.   

    难道我们PHP 就不能用 floyd 算法 吗??我郁闷!
      

  3.   

    return (int)sqrt(pow(($a[0]-$b[0]),2)+pow(($a[1]-$b[1]),2));
      

  4.   

    a 到 g有很多条路 a b d g也有可能是abcg  怎么选择路啊
      

  5.   

    表达清楚点,是平面还是空间?中间有没有障碍物?平面的话,上面已经有了。
    空间的话,
    return (int)sqrt(pow(($x1-$x2),2)+pow(($y1-$y2),2)+pow(($z1-$z2),2));如果中间有障碍物的话,建议google a+算法
      

  6.   


    平面  和 路由表 建立差不多 就是找最进的连路!!a 到 g有很多条路 a b d g也有可能是abcg  怎么选择路啊每个点 都有坐标 xy 
      

  7.   


    算法是不依赖于语言的,运用floyd算法和php语言,自己动手整一整,不是挺好的吗floyd算法和php语言,你哪一样不懂?
      

  8.   

    大哥们  怎么用 floyd算法 实现啊!!!
      

  9.   

    $arr_a=array(
    1=>array(14418,8046),array(11664,8010),
    array(8118,7974),
    array(9162,7992),
    array(9630,7992),
    array(7398,7956),
    array(4716,7956),
    array(6750,7956),
    array(1602,7938),
    array(3528,7902),
    array(5616,7920),
    array(2502,7902),
    array(8118,7668),
    ...
    //307个点1-307个点的x y $arr_b=array(
    array(1,2),
    array(1,35),
    array(2,5),
    array(2,21),
    array(3,6),
    array(3,4),
    array(3,13),
    array(4,5),
    array(4,15),
    array(5,16),
    array(6,8),
    array(6,18),
    array(7,10),
    ....//有458个连路
    (1,2)表示 1到2点有条线已知 上面数据  现在怎么求 任意两点之间的路线和距离啊!相连两点的距离 (int)sqrt(pow(($a[0]-$b[0]),2)+pow(($a[1]-$b[1]),2));
    求用floyd 算法 实现啊  也可以不用 只要实现喔。xxxxxxxxxxxxxxx
      

  10.   

    $arr_a=array(
    1=>array(14418,8046),array(11664,8010),
    array(8118,7974),
    array(9162,7992),
    array(9630,7992),
    array(7398,7956),
    array(4716,7956),
    array(6750,7956),
    array(1602,7938),
    array(3528,7902),
    array(5616,7920),
    array(2502,7902),
    array(8118,7668),
    array(1566,7650),
    array(9144,7650),
    array(9594,7650),
    array(10332,7650),
    array(7452,7596),
    array(6534,7290),
    array(5598,7254),
    array(11574,7164),
    array(6750,7146),
    array(8064,7146),
    array(10296,7182),
    array(9162,7146),
    array(2484,7110),
    array(4644,7110),
    array(6480,7128),
    array(7380,7128),
    array(3510,7110),
    array(5022,7110),
    array(1458,7092),
    array(2106,7074),
    array(5616,7110),
    array(14544,7020),
    array(1404,6984),
    array(13302,6984),
    array(2268,6858),
    array(14040,6840),
    array(14418,6840),
    array(8460,6642),
    array(8100,6606),
    array(1314,6480),
    array(9180,6318),
    array(11376,6318),
    array(2772,6282),
    array(8478,6300),
    array(9810,6300),
    array(10242,6318),
    array(6732,6282),
    array(7380,6264),
    array(8118,6282),
    array(5040,6264),
    array(5580,6246),
    array(5238,6210),
    array(6372,6210),
    array(4518,6192),
    array(4158,6084),
    array(3888,6066),
    array(3726,6012),
    array(9846,5976),
    array(3096,5958),
    array(10242,5922),
    array(5238,5886),
    array(4104,5868),
    array(1692,5832),
    array(1224,5814),
    array(4626,5814),
    array(4104,5688),
    array(4554,5634),
    array(1728,5652),
    array(5094,5634),
    array(3042,5508),
    array(4500,5508),
    array(5058,5454),
    array(4914,5346),
    array(13050,5346),
    array(9846,5292),
    array(13266,5292),
    array(4194,5238),
    array(11142,5274),
    array(3474,5238),
    array(7434,5256),
    array(9162,5256),
    array(9972,5256),
    array(10458,5238),
    array(5616,5220),
    array(8118,5220),
    array(3042,5220),
    array(5274,5202),
    array(6372,5220),
    array(1080,5202),
    array(4050,5202),
    array(1548,5184),
    array(2394,5184),
    array(4716,5184),
    array(2196,5166),
    array(4932,5184),
    array(5292,5058),
    array(4104,5004),
    array(5130,4968),
    array(2160,4950),
    array(4986,4896),
    array(4662,4878),
    array(5508,4878),
    array(5634,4860),
    array(6408,4860),
    array(7398,4842),
    array(1566,4788),
    array(5274,4788),
    array(990,4752),
    array(4968,4680),
    array(2124,4662),
    array(6390,4662),
    array(8082,4662),
    array(9162,4662),
    array(7398,4662),
    array(5562,4608),
    array(5346,4572),
    array(5886,4554),
    array(4986,4572),
    array(10008,4446),
    array(9198,4392),
    array(4590,4356),
    array(5598,4356),
    array(5994,4356),
    array(5472,4356),
    array(900,4338),
    array(5004,4302),
    array(1278,4266),
    array(2088,4266),
    array(4140,4284),
    array(5292,4284),
    array(5832,4284),
    array(4338,4248),
    array(9954,4230),
    array(10422,4230),
    array(8046,4104),
    array(7416,4104),
    array(6390,4086),
    array(9180,4086),
    array(5508,4068),
    array(5616,4050),
    array(5922,4050),
    array(6678,4050),
    array(6030,4050),
    array(6984,4050),
    array(9882,4032),
    array(7452,3888),
    array(6642,3852),
    array(8316,3888),
    array(6408,3852),
    array(5868,3834),
    array(7020,3852),
    array(6840,3726),
    array(5580,3780),
    array(810,3762),
    array(1242,3744),
    array(3114,3762),
    array(4140,3744),
    array(4644,3762),
    array(5166,3780),
    array(6174,3726),
    array(6552,3690),
    array(7722,3636),
    array(8262,3654),
    array(1962,3636),
    array(8802,3618),
    array(7506,3618),
    array(10152,3618),
    array(7110,3582),
    array(6840,3546),
    array(7830,3528),
    array(3186,3366),
    array(4932,3348),
    array(3438,3330),
    array(3852,3330),
    array(4104,3348),
    array(5166,3330),
    array(3312,3348),
    array(4356,3348),
    array(4644,3330),
    array(5580,3312),
    array(7110,3276),
    array(7308,3186),
    array(3168,3186),
    array(3474,3186),
    array(4950,3186),
    array(5148,3168),
    array(4500,3150),
    array(4140,3132),
    array(7848,3132),
    array(630,3024),
    array(7452,2988),
    array(3456,2988),
    array(5364,2952),
    array(8352,2970),
    array(3132,2916),
    array(3798,2952),
    array(4626,2934),
    array(5976,2952),
    array(6768,2952),
    array(8118,2952),
    array(4518,2934),
    array(5166,2934),
    array(5544,2916),
    array(6516,2934),
    array(4104,2916),
    array(5058,2916),
    array(7812,2898),
    array(1818,2898),
    array(4104,2808),
    array(7308,2844),
    array(7128,2844),
    array(9162,2790),
    array(6696,2754),
    array(3456,2808),
    array(3132,2772),
    array(4608,2736),
    array(8118,2736),
    array(5022,2736),
    array(6516,2718),
    array(7074,2718),
    array(6858,2664),
    array(7740,2628),
    array(9180,2664),
    array(8082,2628),
    array(10188,2628),
    array(5004,2556),
    array(6282,2538),
    array(3114,2502),
    array(3456,2502),
    array(4590,2502),
    array(4104,2484),
    array(11970,2466),
    array(11376,2448),
    array(13068,2430),
    array(7434,2376),
    array(6336,2358),
    array(7740,2340),
    array(8262,2358),
    array(9198,2340),
    array(5526,2340),
    array(6840,2322),
    array(3294,2250),
    array(3474,2250),
    array(4122,2250),
    array(4590,2250),
    array(6012,2214),
    array(6156,2142),
    array(11304,2160),
    array(6282,2142),
    array(11952,2142),
    array(5148,2124),
    array(432,2106),
    array(3294,2070),
    array(13050,2088),
    array(4086,2070),
    array(3096,2070),
    array(1674,2016),
    array(8298,1908),
    array(5184,1908),
    array(5508,1908),
    array(6030,1890),
    array(7452,1908),
    array(7722,1890),
    array(5058,1800),
    array(6840,1728),
    array(6120,1710),
    array(1638,1656),
    array(5652,1548),
    array(9198,1494),
    array(5976,1476),
    array(6390,1404),
    array(306,1386),
    array(4068,1386),
    array(7452,1368),
    array(6624,1332),
    array(6876,1350),
    array(8262,1314),
    array(4986,1260),
    array(6066,1278),
    array(6408,1278),
    array(5616,1278),
    array(7416,1116),
    array(6894,1062),
    array(1854,1008),
    array(5796,936),
    array(2178,864),
    array(6768,756),
    array(3960,738),
    array(5832,738),
    array(6624,738),
    array(7416,720),
    array(11880,702),
    array(12978,684),
    array(216,414),
    array(3798,360),
    array(8262,288),
    array(5832,288),
    array(6516,288),
    array(6642,270),
    array(7434,270),
    array(8748,252),
    array(10872,216),
    array(11880,198),
    array(12960,162)
    );
      

  11.   

    $arr_b=array(
    array(1,2),
    array(1,35),
    array(2,5),
    array(2,21),
    array(3,6),
    array(3,4),
    array(3,13),
    array(4,5),
    array(4,15),
    array(5,16),
    array(6,8),
    array(6,18),
    array(7,10),
    array(7,11),
    array(7,27),
    array(8,11),
    array(8,22),
    array(9,12),
    array(9,14),
    array(10,12),
    array(10,30),
    array(11,20),
    array(12,26),
    array(13,18),
    array(13,23),
    array(14,32),
    array(14,33),
    array(15,16),
    array(15,25),
    array(16,17),
    array(17,24),
    array(18,29),
    array(19,20),
    array(19,28),
    array(20,34),
    array(21,24),
    array(21,37),
    array(21,45),
    array(22,28),
    array(22,29),
    array(22,50),
    array(23,25),
    array(23,29),
    array(23,42),
    array(24,25),
    array(24,49),
    array(25,44),
    array(26,30),
    array(26,33),
    array(27,30),
    array(27,31),
    array(27,57),
    array(28,34),
    array(29,51),
    array(30,60),
    array(31,34),
    array(31,53),
    array(32,33),
    array(32,36),
    array(33,38),
    array(34,54),
    array(35,40),
    array(36,38),
    array(36,43),
    array(37,39),
    array(38,46),
    array(39,40),
    array(39,77),
    array(40,79),
    array(41,42),
    array(41,47),
    array(42,52),
    array(43,46),
    array(43,67),
    array(44,47),
    array(44,48),
    array(44,84),
    array(45,49),
    array(45,81),
    array(46,62),
    array(47,52),
    array(48,49),
    array(48,61),
    array(49,63),
    array(50,51),
    array(50,56),
    array(51,52),
    array(51,83),
    array(52,88),
    array(53,55),
    array(53,57),
    array(54,55),
    array(54,56),
    array(54,87),
    array(55,64),
    array(56,91),
    array(57,58),
    array(57,68),
    array(58,59),
    array(58,65),
    array(59,60),
    array(59,65),
    array(60,62),
    array(60,69),
    array(60,82),
    array(61,63),
    array(61,78),
    array(62,66),
    array(64,72),
    array(65,69),
    array(65,70),
    array(66,67),
    array(66,71),
    array(67,92),
    array(68,70),
    array(69,74),
    array(69,93),
    array(70,75),
    array(71,73),
    array(72,75),
    array(73,89),
    array(74,76),
    array(75,90),
    array(76,98),
    array(77,79),
    array(77,81),
    array(78,84),
    array(78,85),
    array(79,237),
    array(80,93),
    array(80,96),
    array(80,100),
    array(81,86),
    array(82,89),
    array(82,93),
    array(83,88),
    array(83,91),
    array(83,108),
    array(84,88),
    array(84,116),
    array(85,86),
    array(85,122),
    array(86,137),
    array(87,90),
    array(87,91),
    array(87,106),
    array(88,115),
    array(89,95),
    array(90,98),
    array(90,99),
    array(91,107),
    array(92,94),
    array(92,111),
    array(93,100),
    array(94,97),
    array(94,109),
    array(95,97),
    array(95,102),
    array(96,98),
    array(96,104),
    array(97,102),
    array(98,101),
    array(99,101),
    array(99,105),
    array(100,132),
    array(101,103),
    array(101,110),
    array(102,113),
    array(103,104),
    array(103,112),
    array(104,124),
    array(105,106),
    array(106,107),
    array(106,118),
    array(106,120),
    array(107,108),
    array(107,114),
    array(108,117),
    array(109,111),
    array(109,113),
    array(110,112),
    array(110,118),
    array(111,128),
    array(112,121),
    array(113,131),
    array(114,117),
    array(114,140),
    array(115,116),
    array(115,117),
    array(115,138),
    array(116,123),
    array(117,139),
    array(118,119),
    array(118,125),
    array(118,134),
    array(119,121),
    array(119,127),
    array(120,126),
    array(121,129),
    array(122,123),
    array(123,141),
    array(124,129),
    array(124,135),
    array(125,127),
    array(125,143),
    array(126,146),
    array(127,133),
    array(128,130),
    array(128,157),
    array(129,133),
    array(130,131),
    array(130,158),
    array(131,132),
    array(131,167),
    array(132,135),
    array(132,160),
    array(133,142),
    array(134,144),
    array(136,137),
    array(136,148),
    array(138,139),
    array(138,141),
    array(139,147),
    array(139,149),
    array(140,145),
    array(140,146),
    array(140,152),
    array(141,148),
    array(141,215),
    array(142,143),
    array(143,144),
    array(143,156),
    array(144,146),
    array(144,153),
    array(145,147),
    array(145,150),
    array(146,152),
    array(147,154),
    array(149,151),
    array(149,154),
    array(149,169),
    array(150,152),
    array(150,154),
    array(151,166),
    array(152,155),
    array(153,163),
    array(153,201),
    array(154,171),
    array(155,171),
    array(156,162),
    array(156,183),
    array(157,158),
    array(157,193),
    array(158,167),
    array(159,160),
    array(159,174),
    array(160,161),
    array(160,178),
    array(161,162),
    array(162,179),
    array(163,164),
    array(164,172),
    array(165,169),
    array(165,173),
    array(166,173),
    array(167,211),
    array(168,170),
    array(168,192),
    array(169,192),
    array(169,194),
    array(171,185),
    array(171,172),
    array(172,184),
    array(174,180),
    array(174,186),
    array(175,179),
    array(175,182),
    array(175,188),
    array(176,177),
    array(176,180),
    array(176,187),
    array(177,178),
    array(177,199),
    array(178,181),
    array(178,191),
    array(179,189),
    array(181,182),
    array(181,190),
    array(182,200),
    array(183,196),
    array(184,214),
    array(185,194),
    array(186,187),
    array(186,198),
    array(187,195),
    array(188,189),
    array(189,205),
    array(190,191),
    array(190,204),
    array(191,208),
    array(193,211),
    array(193,255),
    array(194,210),
    array(194,213),
    array(194,214),
    array(194,238),
    array(195,198),
    array(195,199),
    array(196,206),
    array(196,209),
    array(197,203),
    array(197,215),
    array(198,211),
    array(198,218),
    array(199,208),
    array(200,204),
    array(200,209),
    array(200,219),
    array(201,206),
    array(201,207),
    array(202,207),
    array(202,214),
    array(202,216),
    array(203,210),
    array(203,220),
    array(204,208),
    array(205,209),
    array(205,254),
    array(206,243),
    array(207,222),
    array(208,212),
    array(209,221),
    array(210,225),
    array(211,260),
    array(212,234),
    array(213,223),
    array(214,216),
    array(215,226),
    array(215,228),
    array(216,222),
    array(216,224),
    array(217,218),
    array(217,232),
    array(218,231),
    array(219,221),
    array(219,233),
    array(220,226),
    array(220,227),
    array(221,229),
    array(222,230),
    array(223,224),
    array(224,239),
    array(224,244),
    array(225,227),
    array(226,242),
    array(228,251),
    array(229,233),
    array(230,250),
    array(231,232),
    array(231,259),
    array(232,234),
    array(232,246),
    array(233,234),
    array(233,248),
    array(234,247),
    array(235,236),
    array(235,237),
    array(236,251),
    array(237,257),
    array(238,240),
    array(238,244),
    array(238,265),
    array(239,252),
    array(240,241),
    array(240,266),
    array(241,242),
    array(241,261),
    array(242,272),
    array(243,249),
    array(243,263),
    array(244,268),
    array(245,246),
    array(245,256),
    array(246,247),
    array(247,248),
    array(247,258),
    array(249,250),
    array(250,252),
    array(250,264),
    array(251,253),
    array(251,305),
    array(252,269),
    array(253,257),
    array(253,295),
    array(254,258),
    array(255,260),
    array(255,275),
    array(256,258),
    array(256,259),
    array(257,296),
    array(258,276),
    array(260,270),
    array(261,266),
    array(261,280),
    array(262,263),
    array(262,267),
    array(264,271),
    array(265,266),
    array(265,277),
    array(267,281),
    array(268,269),
    array(268,279),
    array(269,273),
    array(270,287),
    array(271,284),
    array(272,304),
    array(273,274),
    array(274,278),
    array(275,297),
    array(276,281),
    array(276,291),
    array(277,279),
    array(277,280),
    array(277,285),
    array(278,279),
    array(278,290),
    array(279,286),
    array(280,299),
    array(282,283),
    array(282,284),
    array(282,288),
    array(283,293),
    array(285,286),
    array(285,294),
    array(286,290),
    array(287,289),
    array(288,292),
    array(289,291),
    array(290,294),
    array(290,302),
    array(291,292),
    array(291,298),
    array(292,300),
    array(293,301),
    array(294,303),
    array(295,296),
    array(295,306),
    array(296,307),
    array(297,298),
    array(298,300),
    array(299,303),
    array(299,304),
    array(300,301),
    array(301,302),
    array(302,303),
    array(304,305),
    array(305,306),
    array(306,307)
    );//得到点和点的直连距离
    function doJ($a,$b)
    {
        return (int)sqrt(pow(($a[0]-$b[0]),2)+pow(($a[1]-$b[1]),2));
    }//得到 权矩阵
    for($x=1;$x<=count($arr_a);$x++)
    {
    for ($y=1;$y<=count($arr_a);$y++)
    {
    $arr_temp=array($x,$y);
    if(in_array($arr_temp,$arr_b))
    {
    $w[$x][$y]=doJ($arr_a[$x],$arr_a[$y]);
    $i_temp+=1;
    }
    else
    {
    $w[$x][$y]=0;
    }
    }
    }