• Keine Ergebnisse gefunden

h : N → {0, 1, 2, . . . , 10}

N/A
N/A
Protected

Academic year: 2022

Aktie "h : N → {0, 1, 2, . . . , 10}"

Copied!
14
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

SS 2007

Name : ...

Matrikelnummer : ...

Studiengang/Abshluss : ...

DieKlausurbestehtausahtAufgaben.DieerreihbarePunktzahlzujederAufga-

beistimmerangegeben.DiemaximalerreihbareGesamtpunktzahlist50Punkte.

Siebestehen dieKlausur,wenn Siemindestens 25Punkte erzielen.

Benutzen Sie keinen Bleistift! Bitte shreiben Sie oben auf JEDESeite Ihren

Namen und IhreMatrikelnummer (bitte lesbar!).

Es ist lediglih ein handbeshriebener DIN-A4-Zettel als Hilfsmittel zugelassen!

Räumen Sie alles Weitere auÿer Ihrem Shreibmaterial und Ihrem Lihtbildaus-

weisvomTish.WerabshreibtODERwervonsihabshreiben läÿt,erhältdie

Endnote 5,0 (mangelhaft). Bringen Sieihre Nahbarn also niht in Shwierig-

keiten!

Shreiben SieLösungen bitte unter die Aufgabenstellung. Reiht der Platz niht

aus, so benutzen Sie die Rükseite und die beigefügten Zusatzblätter. Weitere

Blättersind bei Beadarferhältlih.

Werden zu einerAufgabe zwei Lösungen angegeben, sogiltdieAufgabe alsniht

gelöst.Entsheiden Sie sihalsoimmer für eine Lösung.

Ergebnisse, Algorithmen und Datenstrukturen aus der Vorlesung dürfen zitiert

werden.Alleweiteren Ergebnissedürfen NICHTzitiertwerdenund müssenneu

hergeleitet werden. D.h. es reiht NICHT zu sagen: Das geht gemäÿ Aufg. 42

aus den Übungen.

Siehaben bis 12:00Uhr Zeit.

Viel Erfolg !

1 2 3 4 5 6 7 8

Σ

(2)

AUFGABE 1: (4Punkte)

Bestimmen Sie mit Hilfe des Algorithmus von Prim, gestartet in Knoten

a

, den minimalen

Spannbaum des folgenden Graphen. Geben Sie insbesondere die Reihenfolge an, in der die

Kanten des Spannbaums gemäÿ Algorithmusbestimmtwerden.

Reihenfolge:

(1.) (5.)

(2.) (6.)

(3.) (7.)

(3)

Wirbetrahten diefolgende Hashfunktion nah der Divisionsmethode:

h : N → {0, 1, 2, . . . , 10}

k 7→ k mod 11

Mit Hilfe von

h

soll eine Hashtabelle der Gröÿe

11

gefülltwerden. Zur Kollisionsverwaltung werden einfah verkette Listen verwendet. Skizzieren Sie die resultierende Hashtabelle die

entsteht, wenn naheinander mittels

h

diefolgenden Elementeeingefügt werden:

10 , 23 , 17 , 42 , 13 , 21 , 31 , 1

(4)

AUFGABE 3: (4Punkte)

Gegeben sei ein Nahrihtenalphabet

A = {a 1 , a 2 , . . . , a 8 }

mit den folgendenrelativen Häu-

gkeiten:

f [ a 1 ] = 2 3 f [ a 3 ] = 10 1 f [ a 5 ] = 30 1 f [ a 7 ] = 100 1 f [a 2 ] = 10 1 f [a 4 ] = 15 1 f [a 6 ] = 50 1 f[a 8 ] = 300 1

BestimmenSie einenHuman-Code für

A

unter den gegebenen relativen Häugkeiten.

(5)

Betrahten Sie den folgendenTeile-und-Herrshe (divide-and-onquer) Algorithmus.

Algo

(A, p, r)

1

n ← r − p + 1

2 if

n ≤ 2

then

3 if

n = 2

then return

A[r] − A[p]

4 else return

0

5 else

6

q ← ⌊ p + 2 r

7

a ←

Algo

(A, p, q)

8

b ←

Algo

( A, q + 1 , r )

9 if

a > b

then

c ← a

else

c ← b

10 for

i = p, . . . , q

do

11 for

j = q + 1 , . . . , r

do

12

x ← A[i] − A[j ]

13 if

x > c

then

c ← x

14 return

c

a) GebenSieeineRekursionsgleihung fürdieLaufzeit

T ( n )

desAlgorithmusbeiEingabe

(A, 1, n)

an, wobei

A

ein Array der Länge

n

bezeihnet.

b) AnalysierenSiedieLaufzeitmöglihstgenauim

O

-KalkülmitHilfederIterations-oder der Substitutionsmethode. Siekönnen dabeiannehmen, dass

n

eine Zweierpotenz ist.

(6)
(7)

Sei

G = (V, E)

ein ungerihteter, zusammenhängender Graph. Der Graph

G

heiÿt bipartit,

falls sih

V

in zwei disjunkte Teilmengen

V 1

,

V 2

mit

V = V 1 ∪ V 2

und

V 1 ∩ V 2 = ∅

zerlegen

lässt, sodass füralle Kanten

(u, v ) ∈ E

gilt:

u ∈ V 1 ∧ v ∈ V 2

oder

v ∈ V 1 ∧ u ∈ V 2 .

EinBeispieleines bipartiten Graphen istin der folgendenAbbildung dargestellt.

a) Beshreiben Sie einen Algorithmus, der bei Eingabe eines ungerihteten, zusammen-

hängendenGraphen

G

inAdjazenzlistendarstellung inZeit

O(|V | + |E|)

bestimmt,ob

der Graph bipartitist oder niht.

(8)
(9)

EinTelekommunikationsunternehmenmöhtedenHandyempfangder

n

Anwohnereiner

k

Ki-

lometer langen,shnurgeraden Straÿe siherstellen. Dazu kann esentlang der Straÿe Sende-

und Empfangsmasten errihten, die die Häuser in einer Entfernung von bis zu 4 Kilometer

versorgen. Leiderstehen dieWohnhäuser entlang dieses spärlihbesiedelten Landstrihsnur

sehr vereinzelt, und das Unternehmen muss genau planen, wo die teuren Masten errihtet

werden sollen.

Wir können uns die Landstraÿe als die Streke auf dem Zahlenstrahl zwishen 0 und

k

vorstellen. Die Wohnhäuser und die Masten können dann durh Punkte auf der Streke 0

bis

k

beshrieben werden. Der Abstand zweier Punkte entspriht einfah deren Dierenz.

a) Beshreiben Sie einen gierigen (greedy) Algorithmus, der bei Eingabe

( A, n, k )

in Zeit

O(n log n)

dieminimaleAnzahlanMastenbestimmt,diezur vollständigenVersorgung

derWohnhäuserbenötigtwerden.Dabeiist

A

einArrayderLänge

n

,dassdiePositionen

der Häuser entlang der Straÿe als Werte zwishen 0 und

k

beshreibt. Die konkreten

Positionender Masten müssen jedoh niht explizit bestimmt werden.

(10)
(11)

Ein Zugfahrplan sei gegeben durh eine Menge von

n

Stationen

S

und

m

Zugverbindungen

Z ⊂ S × S

zwishen den Stationen. Eine Verbindung

(u, v) ∈ Z

ist dabei beshrieben

durh einen Abfahrtszeitpunkt

A(u, v)

an Station

u

und einem Ankunftszeitpunkt

B(u, v)

anStation

v

.Selbstverständlih giltstets

A(u, v) ≤ B(u, v)

.

a) Beshreiben Sie einen Algorithmus, der mitden Methoden der dynamishen Program-

mierung (dynami program) bei Eingabe

(S, Z, A, B, s, t)

den frühsten Zeitpunkt be-

stimmt, zu dem man, gestartet in

s

, die Zielstation

t

erreihen kann. Ihr Algorithmus soll eine Laufzeit von

O(nm)

besitzen. Wir nehmen dabei wie im ehten Leben

an, dass dieZüge sih strikt anden Fahrplanhalten und niemals Verspätung haben.

(12)
(13)

Gesuht ist eine Datenstruktur, welhe die drei folgenden Operationen in der geforderten

Laufzeitunterstützt.ImFolgendenbezeihnet

k ∈ N

einevorKonstruktionderDatenstruktur bekannteKonstante.

Einfügen

(x)

: Eine Zahl

x ∈ {1, 2, . . . , k}

wird in die Datenstruktur eingefügt. Es können Zahlen mehrfah indie Datenstruktur eingefügt werden.

Löshen

(x)

: Fallseine Zahl

x ∈ {1, 2, . . . , k}

in der Datenstruktur einmal oder mehr- fah vorhanden ist,so wird eine dieserZahlen entfernt.

Zählen

( x )

: Gibt die Anzahl der Zahlen in der Datenstruktur aus, die den Wert

x

haben.

Die Datenstruktur soll alledrei Operationen inLaufzeit

O(1)

unterstützen.

Beshreiben Sie inwenigen kurzen Sätzen wie Ihre Datenstruktur aufgebautist und wie die

angegebenOperationenrealisiertwerden.HierbeiistkeinPseudoodegefordert.Essolljedoh

(14)

Referenzen

ÄHNLICHE DOKUMENTE

InfraWatt – Association pour l’utilisation ration- nelle de l’énergie des eaux usées, des déchets, de l’eau potable et de la chaleur à distance SuisseEnergie pour

InfraWatt – Association pour l’utilisation ration- nelle de l’énergie des eaux usées, des déchets, de l’eau potable et de la chaleur à distance SuisseEnergie pour

Es werden allerdings nicht alle pythagoreischen Tripel generiert... Jedes pythagoreische Dreieck ist zwei

In this case the proportion of the golden section can be constructed in a square lattice, using circles going through lattice points.?. This gives

Formal stringente Verallgemeinerung der Parameterdarstellung des Einheitskreises in höhere Dimensionen...

Wir erstellen eine Tabelle (Tab. 4) über die Anzahl der Eckpunkte, der Kanten, der Dreiecke, der Tetraeder, allgemein der niedrigerdimensionalen „Seitenelemente“ des

Wir sehen, dass sich ein gewisses Grundmuster modulo 4 wiederholt... Im Folgenden noch einige größere Werte

exec sql declare AktBuch cursor for select ISBN, Titel, Verlagsname from Bücher. for update of