DAG是tree的泛化,也是ploy tree的泛化
In graph theory, polytree is a name for an oriented tree; that is, a polytree is a directed graph formed by giving a direction to each edge of a tree, forming an orientation of the tree. In other words, it is a directed graph with exactly one directed path between any two vertices; equivalently, it is a directed acyclic graph (DAG) for which there are no undirected cycles and for which the underlying undirected graph is connected.
tree 是层次化,永远的细分,直到不能再分,DAG 从源开始细分,但是中间可以有合,有汇总。D就是可以合的点
上图是polytree 还不是通用的DAG
DAG 在编译里用来基本块优化,重写序列排序时用,但是两个节点之间可以有同向的两条有向边
操作系统中,多个进程之间的资源分配图为DAG,则多个进程是安全的
模型检测中,DAG存在有效的检测算法