Reading Assignment: Kleinberg and Tardos Chapter 3, Chapter 4 (we will skip sections 4.8 and 4.9).
Problems: (see the Grading Guidelines before answering)
Show how to modify the code for recursive depth-first search of undirected graphs to (i) assign each node v a number, dfsnum(v), indicating the sequence number for when it was first visited by depth-first search, and (ii) compute smallest(v) for each node v, the smallest dfsnum of any node that was encountered in the recursive call DFS(v).
Show how to determine whether or not v is a single point of network failure in a connected network by comparing dfsnum(v) and smallest(w) for the children w of v in the DFS tree. (You will need a separate simpler condition for the root of the DFS.)