Question: DAG algorithms. (a) If we view a DAG as representing precedence constraints on a set of operations at the vertices (i.e., an operation cannot be

DAG algorithms. (a) If we view a DAG as representing precedence constraints on a set of operations at the vertices (i.e., an operation cannot be performed until the operations at the heads of all incoming edges have been performed), the length of a longest path in the DAG represents the amount of time required to perform all the operations, assuming operations can be performed in parallel (subject to the precedence constraints). Design an algorithm that, given a DAG as input, determines the length of a longest path. (Hint: one possible ap- proach directly uses depth-first search; another is based on topological sorting. Any correct algorithm is acceptable. (b) Again viewing a DAG as encoding precedence constraints on operations that may be per- formed in parallel, the earliest start time of a vertex is the earliest time at which that operation can be performed subject to the precedence constraints (where time starts at 0 and each step of the execution takes unit time). Design an algorithm that, given a DAG as input, computes the earliest start time of every vertex
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
