Sie sind auf Seite 1von 5

Vorname / Name  Victor Derho 

Studiengang  BINF SS08 
Matrikel‐Nr.  194246 
 
Übungsblatt 5                                  24.05.2008 
IGRU II 
Lösung Aufgabe 1 ‐ 6 

Aufgabe 1 

(a) Bestimmen Sie gemäß der Definition der O‐Notation die Konstante n0 und c, sodass die Funktion 5n2+7n von der 
Ordnung n2 ist. 
 
(b) Bestimmen Sie gemäß der Definition der O‐Notation die Konstante n0 und c, sodass die Funktion 5n3+9n+23 von 
der Ordnung n3 ist. 
 

a‐ 5n2+7n =   (n2) Æ f(n) = 5n2+7n ist von der Ordnung  
g(n) = n2 
 

Konstante c  Konstante n0 Definition: 


   5n2 + 7n ≤ 5n2  7n2     5n2+ 7n ≤ 12n2   
= 5n2+ 7n ≤ 12n2    = 5n + 7 ≤ 12n  Es seien f, g : ℕ Æ ℕ zwei
= c = 12  = 7 ≤ 7n  Funktionen. Die Funktion f ist von der
  = 1 ≥ n  Ordnung g, falls es eine Konstante
= n0 = 1 
  c > 0 und eine Zahl n0 ∈ ℕ gibt, mit

b‐ 5n3+9n+23 =   (n3) Æ f(n) = 5n3+9n+23 ist von der Ordnung  
f(n) ≤  c∙ g(n) ∀ n ≥ n0. 
g(n) = n3 
 
Konstante c  Konstante n0
3 3    3 3 
   5n  + 9n+23 ≤ 5n +  9n  + 23n    5n3+ 9n +23≤ 37n3  
3 3
= 5n + 9n +23≤ 37n    = 5 + 9n + 23 ≤ 37 
= c = 37  = 9n ≤ 9 
  = n ≥ 1 
= n0 = 1 
 

Seite 1 von 5 
Vorname / Name  Victor Derho 
Studiengang  BINF SS08 
Matrikel‐Nr.  194246 
 
Aufgabe 2 

Gegeben sind folgende zwei Algorithmen in Pseudocode.  
 
1.Algorithmus  ELOPs  2. Algorithmus  ELOPs
     
j:= 1 (1)  j:= 1 (1) 
while j <= 2 * n DO 2  while j <= 2 * n DO 2 
 
BEGINN   BEGINN  
i := 1 1  j:= j + 1 2 
while i <= n DO 1  END;    
BEGINN  
i := i + 1 2   
END  
j := j + 1 2   
END;  
   
 

(a) Bestimmen Sie die Anzahl der Elementaroperationen (ELOPs) des ersten Algorithmus 
 
(b) Nennen Sie die Komplexitätsklassen beider Algorithmen gemäß O‐Notation 
 
 
a‐ 1. Algorithmus: es ergeben sich insgesamt  8  (2n2) + 1    =  16 n2 + 1  ELOPs. 
 
2.Algorithmus: es ergeben sich insgesamt   4  (2n)  + 1   =   8 n  + 1  ELOPs. 
 
 
b‐ 1. Algorithmus: Der Algorithmus besteht aus insgesamt zwei Schleifen: einer äußeren die 2n‐mal läuft und einer 
inneren Schleife die bei jedem Durchlauf n‐mal läuft. Das entspricht einer Laufzeitkomplexität von  (2n2). 
 
2. Algorithmus: Der Algorithmus besteht aus einer Schleife, die 2n‐mal läuft, das entspricht  
einer Komplexität von  (2n). 
 

 
Seite 2 von 5 
Vorname / Name  Victor Derho 
Studiengang  BINF SS08 
Matrikel‐Nr.  194246 
 
Aufgabe 3 

(a) Bis zu welcher Größe von n ist ein linearer Algorithmus T1 (n) = 100n schlechter als ein quadratischer Algorithmus 
T2 (n) = 2n2 ? 
(b) Wie groß darf ein Array (Feld von ganzen Zahlen) maximal sein, wenn man mit Bubble‐Sort  (n2) in maximal          
1 Sekunde mit dem Sortieren fertig sein möchte (Annahme: Eine Elementaroperation dauert 10‐9 Sekunden)?  
 
a‐  
n  T1= (100n)  T2= (2n2)  Vergleich: Für die Größenordnung n ≥ 100 ist die 
10  1000  200  T1 > T2 Ungleichung  T1 ≥ T2 nicht mehr erfüllt! 
 
20 2000  800  T1 > T2
 
50 5000  5000  T1 = T2

10 10 000  20 000  T1 < T2
 
b‐  
n  (n2)  Dauer  Ein Algorithmus  (n2) Bubble‐Sort der in 
103  106  10‐3 Sek  einem Array in maximal 1 Sekunde jedes 
Element durchläuft, kann maximal 104,5 
104  108  10‐1 Sek  Elemente enthalten.  
104,5  109  1 Sek 
‐9
Es gilt:  
         Eine Elementaroperation dauert 10    Sekunden 
10(x∙2) ∙ 10‐9 = 1 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Seite 3 von 5 
Vorname / Namme  Victor Derrho 
Studiengan
ng  BINF SS08
Matrikel‐Nr.  194246 
 
Aufggabe 4 

Wie hoch ist der Aufwand in O
O‐Notation fü
ür das: 
 
(a) Finden eeines bestimmmten Elementts in einer un
nsortierten Lisste von n Elementen? 
 
(b) Finden eeines bestimmmten Elementts in einer sortierten Liste
e von n Elemeenten mittels binärer Such
he? 
 
n Sie eine Tab
(c) Erstellen belle mit der b
benötigten D
Dauer von (a) und (b) gemääß O‐Notatio on für n = 103, 10
, 6 und 109 
‐9
Annahme: Eine Elemeentaroperatio on dauert 10  Sekunden.  
 
a‐ Lineare Suche: Jedes Element deer Liste wird solange durchlaufen bis das gesuchtte Element m mit dem 
gesuchteen Schlüssel übereinstim mmt, im Allgeemeinen spriicht man von n einer Laufzzeitkomplexittät die                   
(n) betträgt. 
 
  best casse:  (1
1)
  worst ccase:  (n
n) 
averagee case:  (n
n) 
 
 
 
b‐ Binäre SSuche (sortieerte Liste vorrausgesetzt!)): Für größerre Listen ist ddieses Verfahhren wesentlich effizienter, 
es setzt jedoch voraus das die Lisste vorher so egt. Man spricht im Allgemeinen von einer 
ortiert vorlie
Laufzeitkomplexität von     (log g2 n). 
 
 
best casse:  (1)
(
  worst ccase:   (log
( 2n) 
  averagee case:   (log
( 2(n)‐1) 
 
 
c‐  
n  (      (n) 
(a) D
Dauer:    (b)      (logg2n) Dauer: 
103  1
1 000  10‐6 Sek 
1   9,9658 ≈ 10
0  10‐8 Sek 
106  1
1 000 000  10‐3 Sek 
1   19,932 ≈ 200  2∙ 10‐8 Se
ek 
109  1
1 000 000 00
00  1
1 Sek    29,897 ≈ 300  3∙ 10‐8 Se
ek 
operation dauert 10‐9   Sekunden 
                       Eine Elementaro

 
 
 
 
 
 
 
 
 
 
Seite 4 von 5 
Vorname / Name  Victor Derho 
Studiengang  BINF SS08 
Matrikel‐Nr.  194246 
 
Aufgabe 5 

(a) Geben Sie für das TSP Problem an, welche Komplexität der nearest‐neighbour‐Algorithmus besitzt.  
 
(b) Warum liefert dieser Algorithmus nicht die optimale Lösung? 
 
 
a‐ Verfahren: Der nearest‐neighbour‐Algorithmus ist ein trivialer Algorithmus für das Traveling Salesman 
Problem (TSP). Er startet mit einem Knoten (Startknoten) und wählt als nächsten Knoten immer den, mit 
dem geringsten Abstand. Deshalb muss in einem Graphen für das TSP‐Problem jeder Knoten mit jedem 
über eine gewichtete Kante verbunden sein, damit alle Entfernungen zwischen den Knoten bekannt sind. 
Man wählt gezielt oder zufällig einen Startknoten. Von diesem Knoten aus, werden nun alle bestehenden 
Kanten überprüft und schließlich die kürzeste gewählt und mit den Knoten zwischen der ausgewählten 
Kante verbunden. Dieses Verfahren wird solange wiederholt bis man alle Knoten besucht hat und wieder 
den Startknoten erreicht. 
Komplexität: Um den nächsten Knoten mit der kürzesten Kante zu finden, muss man im Wesentlichen alle 
n Knoten betrachten. Da dieser Prozess insgesamt n‐mal durchgeführt wird ergibt sich eine Komplexität 
von: 
  (n ∙ n) =  (n2)
 
 
b‐ Der nearest‐neigbour‐Algorithmus liefert in aller Regel nicht die optimale Lösung, da alle Kanten nur lokal 
minimal gewählt werden, d.h. die Betrachtungsweise ist immer jeweils auf den nächsten Knoten 
beschränkt, der Gesamtaufbau des Graphen wird jedoch nicht berücksichtigt. So kann insbesondere die 
letzte Kante also die Rückkehr zum Startknoten unter Umständen große Kosten verursachen 
 
Aufgabe 6 

Suchen Sie mithilfe von Literatur und/oder Internet Recherche das Cliquenproblem (kurz: CLIQUE): Es handelt sich um ein 
NP‐vollständiges Problem, das nicht in der Vorlesung behandelt wurde. 

(a) Erläutern Sie die Problemstellung von CLIQUE. 
 
(b) Versuchen Sie eine plausible Erklärung zu finden, warum CLIQUE „schwierig“ ist, d.h. die brute‐force‐Methode 
hohen Aufwand besitzt (ohne Beweis). 
 
a‐ Problemstellung: Das Cliquenproblem (CLIQUE) ist ein Entscheidungsproblem der Graphentheorie und gehört zu 
den NP‐vollständigen Problemen. Die Aufgabe ist es in einem einfachen ungerichteten Graphen  G  mit n Knoten 
für ein beliebiges k ∈ ℕ eine k‐Clique in G zu finden. Eine k‐Clique ist ein vollständig verbundener Teilgraph mit k 
Knoten. Es wird also versucht die Frage zu beantworten ob der Graph G mindestens k Knoten enthält, die 
untereinander paarweise verbunden sind.   
 
b‐ Das Cliquenproblem liegt in NP. Im ersten Schritt des Algorithmus werden alle Knoten des Graphen verzweigt. 
Schließlich verzweigt er von dem aktuellen Knoten zu alle benachbarten Knoten, von dort aus wiederum zu allen 
nächsten benachbarten Knoten usw. insgesamt k‐mal. In jedem Schritt muss der Algorithmus überprüfen, ob der 
neue Knoten von allen bisher besuchten Knoten verschieden ist und mit allen bisher überprüften Knoten 
verbunden ist. Ergibt sich nach allen k‐Schritten, dass alle miteinander verbunden sind so hat der Algorithmus 
eine k‐Clique gefunden. Der Algorithmus erfordert sehr hohen Aufwand, da mit der stetig ansteigenden Summe 
von Verzweigungen der Knoten, auch die Anzahl der Vergleiche exponentiell ansteigt. Die Verarbeitung von 
Cliquenproblemen erfordert also exponentielle Rechenzeit und ist daher ab einer bestimmten Größe der 
Eingabedaten ineffizient.  

Seite 5 von 5