2. Übungsblatt Algorithmische Graphentheorie WS 2016/17 Jens M. Schmidt Aufgabe 1: Block-Cut Tree Sei eine chain decomposition C = {C1 , C2 , . . . , Cm−n+1 } eines schlichten Graphen G gegeben. Beschreiben Sie einen möglichst effizienten Algorithmus, der den block-cut tree von G ausgibt. Aufgabe 2: Colorings Einen Graphen G kann man wie folgt in Linearzeit auf 2-Färbbarkeit testen: Für jede Komponente von G (2-)färbt man einen Spannbaum und testet, ob alle verbleibenden Kanten die Färbbarkeitsbedingung erfüllen. Das Testen von k-Färbbarkeit eines Graphen ist hingegen für jedes gegebene k ≥ 3 NP-schwer. Für den Spezialfall, dass G keinen Kreis der Länge 1 (mod k) enthält, ist G allerdings immer k-färbbar. Finden Sie einen Beweis und einen Linearzeitalgorithmus, der eine solche Färbung findet (jeweiliger Tipp: DFS). Aufgabe 3: Seriously... DFS again? Sei G ein zusammenhängender Graph, in dem für jede zwei Mengen A und B von jeweils genau k Knoten mindestens eine Kante A und B verbindet. Zeigen Sie, dass G einen Pfad der Länge n − 2k enthält. Tipp: DF... Aufgabe 4: Kontrahierbare Kanten (ein eigenständiges Lösen dieser Aufgabe entbindet von allen Weiteren) Sei G ein 2-zusammenhängender Graph. Eine Kante e in G heißt 2-kontrahierbar, wenn ihre Kontraktion einen 2-zusammenhängenden Graphen G/e ergibt. Finden Sie einen Linearzeit-Algorithmus, der alle 2-kontrahierbaren Kanten in G berechnet.