• Keine Ergebnisse gefunden

Bart FAKULT TF RINFORMATIK

N/A
N/A
Protected

Academic year: 2022

Aktie "Bart FAKULT TF RINFORMATIK"

Copied!
13
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)TECHNISCHE UNIVERSITÄT MÜNCHEN. FAKULTÄT FÜR INFORMATIK Lehrstuhl für Physik-basierte Simulation Grundlagen: Algorithmen und Datenstrukturen Prof. Dr.-Ing. Nils Thürey, G. Kohl, L. Prantl, E. Franz. SS 2021 Übungsblatt 12 2021–07–07. Übung: KW 28 (2021–07–12 2021–07–16) Abgabe H: 2021–07–25 (bis 23:59 Uhr) Dieses Blatt enthält zusätzlichen Platz für Nebenrechnungen. Aufgabe 12.1 (P) Netzwerk Wir stellen uns ein soziales Netzwerk als Graph vor. In diesem Graph bilden die Personen des Netzwerks die Knoten. Sind zwei Personen befreundet, gibt es im Graphen eine ungerichtete Kante zwischen den entsprechenden Knoten. Das folgende Bild zeigt einen Ausschnitt aus einem solchen Graphen:. b c. 3. Homer. 1. Tart. Milhouse. 0. Bart. Milhouse. 2. 3. Bart. Maggie. a) Wie kann man mit Hilfe der Tiefensuche feststellen, ob es einen Weg zwischen zwei Personen in dem sozialen Netzwerk gibt? In diesem Fall sagen wir, dass sich diese beiden Personen kennen. b) Überlegen Sie sich einen Algorithmus (basierend auf der Breitensuche), um festzustellen, über wieviele Personen sich zwei Personen minimal kennen. Z.B. kennt Milhouse Gerald minimal über zwei weitere Person (Lisa oder Bart und Maggie). c) Ergänzen Sie Ihren Algorithmus, so dass er eine kürzeste Verbindung ausgibt. Zum Beispiel für die Verbindung Milhouse - Gerald wird Milhouse - Bart - Maggie - Gerald“ ” ausgegeben..

(2) 2. a. Tiefensuche bei einem der beiden knoben starter. Falls die zweite Person waihrend der Tiefensuche. gib true zuriick andernfalls false. gefunden wird b. speichere. fair jeden knoten die. Starfknoben Wenn der. gib c. die. Distant. zum. Zielknoben gefunden wird. Distant seines Vorgeingers zarcick. Lon. Zielknoten gene zu der eine kartere Distant als. Ausgehend vom. einem Nachbarn. der knoten selbst hat. erreicht wird. spart. bis der Startknoben Speicherplatt. Losung21 Halte for jeden seinen Vorganger fest Wenn. besuchten Knoten. der Zielknoten. erreicht wird verfolge die knoten Startknoten. sport Laufzeit. zwick. zum.

(3) 3.

(4) 4 Aufgabe 12.2 (P) Dijkstra Führen Sie den Algorithmus von Dijkstra auf dem folgenden Graphen durch, um jeweils einen kürzesten Weg von s zu jedem anderen Knoten zu finden. Protokollieren Sie nachvollziehbar Ihre Vorgehensweise, und markieren Sie zum Schluss alle Kanten, die zum gefundenen Kürzeste-Wege-Baum gehören. neue Distant von s nach b ist. I. staff 20. b 3. 2. a. c. 20 19. 11. 1 s. 4. 1. 18 f. 17. d 5. 6 e 7. Vordruck: Schritt. Aktueller Knoten. 3. pred bzw. parent von a b c d e f. Inhalt der Priority-Queue. 191 Ce 17. 1. b3. a. d 18. le 17 Cd 78. 3. b. 4. a. b. c s a. b. dido le 14. 5. d. b. c s a. b. 914. 6. e. b c s ab e. 7. f. b c s ab e. f 20. I. Kuirzeste Wege Baum.

(5) 5.

(6) 6.

(7) 7 Aufgabe 12.3 (P) Bellman Ford Führen Sie den Bellman-Ford-Algorithmus auf folgendem Graphen aus:. n 8 Knoten. B:∞. H:∞. -2. D:∞. 1. 4. 4 1. A:0. C:∞. 0 -2. -9. -1 F:∞. G:∞. E:∞ 2. Der Knoten A soll der Startknoten sein. Zu Beginn ist die vorläufige Distanz zum Startknoten 0 und zu allen anderen Knoten unendlich (1). Mit Hilfe des Bellman-Ford-Algorithmus sollen diese Werte nun schrittweise aktualisiert werden.. 1 Phase. max. n 1. 7 Schritte. 2 Schritt. 1 Schritt. H. B. D. 2. of. A. O'T. he.pt. D. D. B. got.it sackgasse X I 2ta ot. g. 4 Schritt. 3 Schritt H. H. B. B1. D. Kein Update. date. 5 Schritt H. D. E. apeman. nene Koster. D6. t i. 6 Schritt H. D. B. Db.

(8) 8. 7 Schritt H. 1 Phase fertig. B. D. Infizieren der Knoten Db. Bit. ta. I. A. 374g. Iggy. sackgasse. Kein Update. dive Kosten I neue Kasten 2 Phase. Ausbreitung der Epidemic. 1 Schritt. H. 2 Schritt. D. it. lost. a. 3 Schritt. H. Gewichteauf osetzen Max n 7 7 Schritte. D. Bit. is. Mfs. 4 Schritt. B 1. D 00. H. D. Bit. it 5. Schritt. H. D. 7 Schritt H. o. D. G Schritt B. D 00. sackgassebereits o. 2 Phase fertig. B. Idf E. a. H. D. Sackgasse. Endergebnis H. D. Negativkoeismit B. o. p. omicht. la. T Gistausden. Negativkreiseneichbar.

(9) 9 Aufgabe 12.4 (E) Rückblick: Radixsort Verwenden Sie Radix-Sort, um die folgende Liste von Oktalzahlen zu sortieren: 23, 125, 22, 3, 14, 2 Tragen Sie die Ergebnisse der Partitionierungs- und Sammelphasen unten ein. 0. 1. 2. 3. 4. 5. 6. 7. 1. 2. 3. 4. 5. 6. 7. 1. 2. 3. 4. 5. 6. 7. Neue Liste:. 0. Neue Liste:. 0. Neue Liste:.

(10) 10.

(11) 11 Aufgabe 12.5 (E) Dijana und Stratos Machen Sie sich mit der im Folgenden dargestellten Sachlage vertraut: 9 5. D x. 6. B. 2. 1. $. 3. E. 1. H G. 3. 7. R. K. 1. 4. 4. s. 2. t. 7. L. A 2. 8. 4. 5. O. 1. P 4. 3. % 4. 3. N 3. 9. 5 4. 4. e c 5 3 a. 4. b. 5. d 4. l. i h 1. f. 2. k. p. 6. 5. w. 1. y. 3. n m. 6. 4. 4. g. 3. 8. 2. 2. 3. 2. M 7. q Z. 7. 1 3. u. 2. 3. z. 2. r. 3. Q. 2. j. Die Fliege Stratos landet auf Knoten ’c’ des buschigen Schwanzes von Pony Dijana. Vom Fliegen müde, möchte Stratos auf dem kürzesten Weg zu Knoten ’Q’ des linken Ohres von Dijana krabbeln. Stratos entscheidet sich, zunächst zu rasten und mithilfe des Algorithmus von Dijkstra die kürzesten Wege von Knoten ’c’ zu allen Knoten von Dijana zu berechnen, bevor er seine Reise beginnt. Helfen Sie Stratos, indem Sie den Inhalt der Prioritätswarteschlange nach jedem Schritt des Algorithmus notieren. Geben Sie außerdem jeweils an, ob der Knoten einen neuen Vaterknoten im Baum der kürzesten Wege ab Knoten ’c’ zugewiesen bekommt und – falls ja – welchen. Markieren Sie schließlich den kürzesten Weg im Graphen und geben Sie dessen Länge an..

(12) 12.

(13) 13 Aufgabe 12.6 (H) Dijkstra - Diese Aufgabe zählt für den Notenbonus. Sie finden die Aufgabe und weitere wichtige Informationen unter https://artemis.ase. in.tum.de/#/courses/119/exercises/4275. Warten Sie mit Verständnisfragen bitte, bis das Thema in der Vorlesung bzw. in der Übung besprochen wurde. Hier werden sich die meisten Fragen von alleine klären..

(14)

Referenzen

ÄHNLICHE DOKUMENTE

Wenn f und h sehr komplizierte Funktionen sind, für die ein direkter Beweis schwierig ist, kann man einen Zwischenschritt verwenden: Man formuliert eine Funktion g, sodass f n 2

Sei S eine Menge von Operationen, und bezeichne T eine obere Schranke für die Laufzeit einer Operation 2 S diese Laufzeit kann vom aktuellen Zustand des Objekts, auf dem

n = w, dann wird die Methode reallocate aufgerufen, die ein neues Array der Größe n anlegt und alle alten Elemente in das neue Array kopiert.. Anschließend wird das neue

Zeichnen Sie den durch die Operation entstehenden AVL-Baum, und schreiben Sie dazu, ob keine Rotation, ob eine Rotation oder ob eine Doppelrotation durchgeführt wurde... c Führen

c) Verwenden Sie den Algorithmus von Dijkstra, um die minimale Entfernung aller Knoten in G vom Knoten a zu bestimmen. Auf der n¨ achsten Seite finden Sie eine Kopie des Graphen

c) Verwenden Sie den Algorithmus von Dijkstra, um die minimale Entfernung aller Knoten in G vom Knoten a zu bestimmen. Auf der n¨ achsten Seite finden Sie eine Kopie des Graphen

Beweis: Nach Ablauf des Algorithmus sind alle erreichbaren Knoten BLAU gefärbt. Die Behauptung folgt dann aus

l Erweiterung von Dijkstra durch Einbeziehung der Richtung zum Ziel (Heuristik). l