Dinic算法（又称Dinitz算法）是一个在网络流中计算最大流的强多项式复杂度的算法，设想由以色列（前苏联）的计算机科学家Yefim (Chaim) A. Dinitz在1970年提出。 算法 formula_1 的时间复杂度类似于Edmonds–Karp算法，其时间复杂度为 formula_2 ，Dinic算法与Edmonds–Karp算法的不同之处在于它每轮算法都选择最短的可行路径进行增广。Dinic算法中采用"高度标号（level graph）"以及"阻塞流（blocking flow）"实现其性能