PHP中的拓扑排序

PHP中的拓扑排序,第1张

PHP中的拓扑排序

您会得到重复的行,因为存在重复的边。我不是图论专家,但我很确定这是不合法的:

    0 =>     array (      0 => 'nominal',      1 => 'subtotal',    ),    2 =>     array (      0 => 'nominal',      1 => 'subtotal',    ),    ...

您可以在构造节点的部分中添加测试,如下所示:

    if ($id==$e[0] && !in_array($e[1], $nodes[$id]['out']))    {      $nodes[$id]['out'][]=$e[1];    }    if ($id==$e[1] && !in_array($e[0], $nodes[$id]['in'])) // Not needed but cleaner    {      $nodes[$id]['in'][]=$e[0];    }

…或者只是确保您没有将重复的边传递给该函数。:P



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5477798.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-12
下一篇 2022-12-12

发表评论

登录后才能评论

评论列表(0条)

保存