--- title: Directed Acyclic Graph date: 2018-11-13 --- Anwendung von gerichteten Graphen * Knoten sund Aufgaben (z.b. Berechnungen) * Kanten $(u,v)$ falls Aufgabe $u$ vor Aufgabe $v$ erledigt werden muss **Beispiel**: ![Beispielgraph](20181113_1-problem.png) Problem: Graph enthält einen Kreis => kann aufgaben nicht richtig anordnen und abarbeiten. ## Definition (DAG; Directed Acyclic Graph) Ein gerichteter Graph $G = (V,E)$ heißt azyklisch (DAG) falls G keinen (gerichteten) Kreis enthält. ## Definition (Topologische Sortierung) Sei $G = (V,E)$ ein gerichteter Graph. Eine Abbildung $f: V \to \{1, ... |V|\}$ mit der Eigenschaft, dass $f$ falls $(u,v) \in E \Rightarrow f(u) < f(v)$ heißt **topologische Sortierung**. ## Bemerkungen i) Topologische Sortierung entspricht für obige Anwendung einer (möglichen) Abarbeitungsreihenfolge ii) Topologische Sortierung ist nicht eindeutig iii) Später: Algorithmus um eine topologische Sortierung zu berechnen **Beispiel**: ![Topologische Sortierung](20181113_1-topsort.png) $$ f: \{A,B,C,D,E\} \to \{1,...,5\} \\ f(A) = 2 \\ f(B) = 1 \\ f(C) = 3 \\ f(D) = 4 \\ f(E) = 5 $$