====== Section 3.6 DAGS and Topological Orderings ====== A Directed Acyclic Graph (DAG) is just what it sounds like, a directed graph containing no cycles. These are useful for representing precedence relations and dependencies because they don't contain cycles. A cycle in a dependency relation would mean that one process could not start until another had taken place, which would never happen because none could start first. These types of graphs have can also be represented by a structure known as a topological ordering, which the book defines as "an ordering of the nodes v1,...,vn such that for every edge (vi,vj), ii,vj), i2) time: 1.find the node with no incoming edges 2.delete this node 3.recursively compute the topological ordering of the DAG without the removed node and add this after the deleted node. There is yet a faster, linear-time method to computing the topological ordering of the DAG, but I could not quite grasp what this was. It dealt with active nodes and edges coming from those nodes into the current node.