After computing max flow, the minimum cut is found using the residual graph. Run BFS or DFS from in the residual graph to find all reachable vertices. These vertices can still receive flow from . Let be the set of reachable vertices and be the rest.
The cut is a minimum - cut. This partition naturally separates the graph. Edges from to in the original graph are saturated (flow equals capacity). Removing them disconnects from . These are exactly the bottleneck edges.