Aufgabenblatt 1 Theoretische Informatik 1, SS10 Ausgabe: 19.3.2010 Abgabe: 23.4.2010 1 Schreibweisen (4 Punkte) Schreiben Sie formal korrekt folgende Mengen an, und geben Sie an wieviele Elemente jede Menge enthält bzw. ob sie abzählbar oder überabzählbar unendlich ist. • A ist die Menge aller positiven ganzen Zahlen, die durch 3 teilbar und kleiner als 99 sind. • B ist die Menge alle jener Mengen von Ziffern (0-9), für die die arithmetische Summe aller enthaltenen Ziffern gleich 38 ist. • C ist die Menge aller Sprachen über dem Alphabet {a, b, c} die nur Wörter der Länge 3 enthalten. • D ist die Menge aller Graphen deren Knoten höchsten den Grad 3 haben. 2 Landau O Rechnung (3 Punkte) Seien f (n) und g(n) je zwei beliebige der folgenden Funktionen. Entscheiden und beweisen Sie ob f (n) = O(g(n)) oder g(n) = O(f (n)). n2 3 n3 n2 log n 2n nn nlog n 22 n 22 n+1 ungerichtete Graphen (2 Punkte) Der Grad eines Knoten ist die Anzahl der Kanten, die mit diesem Knoten verbunden sind. Beweisen Sie: Jeder (einfache, ungerichtete) Graph mit 2 oder mehr Knoten enthält zumindest 2 Knoten gleichen Grades. 4 Gerichtete acyclische Graphen Ein directed acyclic Graph (DAG) ist ein gerichteter Graph ohne geschlossene Pfade. Eine Quelle ist ein Knoten ohne eingehende Kanten, eine Senke ist ein Knoten ohne ausgehende Kanten. • (2 Punkte) Beweisen Sie, daß jeder DAG eine Quelle und eine Senke hat. • (3 Punkte) Beweisen Sie: Ein Graph mit n Knoten ist acyclisch, genau dann wenn die Knoten des Graphen so mit 1 bis n nummeriert werden können, daß alle Kanten von niedrigeren Nummern zu höheren Nummern gerichtet sind. • (2 Punkte) Beschreiben Sie einen (asymptotisch) möglichst effizienten Algorithmus, der feststellt, ob ein gerichteter Graph acyclisch ist und stellen sie fest wieviele Schritte der Algorithmus im schlechtesten Fall benötigt. 1