我阅读了维基百科和TopCoder上的相应文章,我读到的内容几乎没有任何意义。
编辑:在阅读幻灯片并更仔细地重读TopCoder文章后,我仍然不明白何时以及如何进行重新标记。
答案 0 :(得分:2)
为了理解push-relabel算法,您需要了解push和relabel操作。该算法只是迭代运行它们中的每一个。此外,在算法执行的某些时刻,通过网络的流量实际上并不有效 - 但最终会有效。
<强>推(节点)强>
推送检查是否有更多的流进入节点而不是离开节点,以及是否有一些超出的流可能离开节点(该节点的某些传出边缘中有剩余容量)
<强>重新标记(节点)强> 这会使多余的流进入一个不能离开的节点,因为所有的出口边缘都是饱和的,然后通过入口边缘向后传播,从而可以减少它们的流出量。这通常是通过存储与每个节点相关的电位或高度来完成的,并确保流量始终低于电位。