| 152 | } |
| 153 | |
| 154 | void GraphCycles::RemoveEdge(int32 x, int32 y) { |
| 155 | rep_->nodes_[x]->out.Erase(y); |
| 156 | rep_->nodes_[y]->in.Erase(x); |
| 157 | // No need to update the rank assignment since a previous valid |
| 158 | // rank assignment remains valid after an edge deletion. |
| 159 | } |
| 160 | |
| 161 | static bool ForwardDFS(GraphCycles::Rep* r, int32 n, int32 upper_bound); |
| 162 | static void BackwardDFS(GraphCycles::Rep* r, int32 n, int32 lower_bound); |