faecher:informatik:oberstufe:graphen:adjazenz

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
faecher:informatik:oberstufe:graphen:adjazenz [01.11.2022 11:17] – [Effizienz- und Laufzeitanalyse] Mareike Nutzfaecher:informatik:oberstufe:graphen:adjazenz [30.11.2022 20:17] (aktuell) – gelöscht Frank Schiebel
Zeile 1: Zeile 1:
-====== Repräsentation von Graphen ====== 
  
-{{ :faecher:informatik:oberstufe:graphen:grapheinstieg.drawio.png?200|}} 
- 
-==== Wie könnte man Graphen repräsentieren? ==== 
- 
-{{:aufgabe.png?nolink  |}} (1A) Gruppe A: Betrachte den Graphen rechts. Wie könnte man diesen Graphen in einer Tabelle darstellen? Notiere deine Ideen und probiere sie aus! 
- 
-{{:aufgabe.png?nolink  |}} (1B) Gruppe B: Betrachte den Graphen rechts. Wie könnte man diesen Graphen in einer Liste darstellen? Notiere deine Ideen und probiere sie aus! 
- 
- 
- 
- 
-==== Adjazenz - Was ist das? ==== 
- 
-<blockquote>Wenn zwei Knoten über eine Kante miteinander verbunden sind, heißen diese Nachbarknoten, sie sind benachbart oder auch "adjazent".</blockquote> 
-Bei ungerichteten Graphen sind alle verbundenen Knoten adjazent (siehe Abbildung rechts). Bei einem gerichteten Graphen hingegen nur die, die durch ... 
- 
-{{:aufgabe.png?nolink  |}}(2) In der Abbildung siehst du die Mitgliedsstaaten der EU. Manche der Staaten sind aufgrund gemeinsamer Grenzen adjazent. Erstelle einen Graphen einen Graphen der dieses Nachbarschaftsverhältnis wiedergibt. 
- 
-{{ :faecher:informatik:oberstufe:graphen:eu_mitgliedsstaaten.png?550 |}} 
-<sub>//Quelle: Stefan Eling: https://www.hanisauland.de/wissen/spezial/politik/europaeische-union/europaeische-union-kapitel-1.html (10.10.2022).//</sub> 
- 
-==== Zwei mögliche Repräsentationen ==== 
- 
-{{:aufgabe.png?nolink  |}} (3A) Wenn du in der Gruppe A bist, bearbeite bitte diese Seite: [[.:matrix|Adjazenzmatrix]] 
- 
-{{:aufgabe.png?nolink  |}} (3B) Wenn du in der Gruppe B bist, bearbeite bitte diese Seite: [[.:liste|Adjazenzliste]] 
- 
-==== Übungen für beide Gruppen ==== 
-Es folgen verschiedene Aufgaben. Um deine Lösungen zu überprüfen, kannst du folgendes Tool verwenden: [[https://graphonline.ru/de/]] 
- 
-++++ Kurzanleitung | 
-  - **Graph -> Matrix:** Graph über ''Knoten hinzufügen'' und ''Knoten verbinden'' erstellen. Unter ''Graph>Adjazenzmatrix'' die Matrix anzeigen lassen. 
-  - **Listen -> Graph:** [[https://graphonline.ru/de/create_graph_by_edge_list]] (Anleitung angegeben). 
-  - **Matrix -> Graph:** Matrix eingeben unter ''Graph>Adjazenzmatrix'' oder [[https://graphonline.ru/de/create_graph_by_matrix]]. 
-  - **Graph -> Listen:** Leider nicht möglich! Selber denken! :) 
- 
-++++ 
- 
-{{:aufgabe.png?nolink  |}} (4)  
- 
-====Effizienz- und Laufzeitanalyse==== 
- 
-===Effizienzanalyse (Speicherplatz)=== 
- 
-Die verschiedenen Repräsentationen der Graphen haben Vor- und Nachteile. Man kann z.B. den benötigten Speicherplatz und die Laufzeit für Zugriffsoperationen auf den Graphen bewerten. 
-Dabei muss man Anwendungen unterscheiden, bei denen relativ **dünne** Graphen auftreten, und Anwendungen, bei denen der Graph (nahezu) **vollständig** ist. Repräsentiert der Graph z.B. eine Karte mit Straßen und Kreuzungen, gehen von jedem Knoten (= Kreuzung) nur wenige Kanten (= Straßen) ab. Mehr als 4-5 Straßen gehen üblicherweise nicht von einer Kreuzung aus. Diese Zahl ändert sich auch nicht, wenn die Anzahl der Knoten steigt. Der Graph ist also sehr dünn. Betrachtet man einen vollständigen Graphen, steigt bei einer Erhöhung der der Knotenzahl damit auch die Zahl der Kanten pro Knoten. 
- 
-**Speicherplatz** (ungerichteter, gewichteter Graph) 
- 
-  * ''Adjazenzliste'': Zwei Zahlen (Nummer des Nachbarknoten, Entfernung) werden gespeichert.  
-  * ''Adjazenzmatrix'': Eine Zahl (Entfernung) wird in jeder Zelle gespeichert (0 für keine Kante). 
- 
-^  Anzahl der Knoten  ^  dünner Graph (4 Kanten pro Knoten)                     ^^  vollständiger Graph                    ^^ 
-^  :::                ^  Adjazenzlisten                      ^  Adjazenzmatrix    Adjazenzlisten        Adjazenzmatrix  ^ 
-|  5                  |  5*4*2 = 40 Zahlen                    5*5 = 25 Zahlen  |  5*4*2 = 40 Zahlen    |  25 Zahlen       | 
-|  6                  |                                      |                                                          | 
-|  7                  |                                      |                                                          | 
-|  8                  |                                      |                                                          | 
-|  9                  |                                      |                                                          | 
-|  n                  |                                      |                                                          | 
- 
-===Laufzeitanalyse=== 
-Die Laufzeit einzelner Operationen hängt von der Art der Implementierung ab.  
-  * Adjazenzliste: Ein Array enthält für jeden Knoten eine einfach verkettete Liste der Kanten. 
-  * Adjazenzmatrix: Zweidimensionales Array. 
- 
-^  Anzahl der Knoten  ^  dünner Graph (4 Kanten pro Knoten)                     ^^  vollständiger Graph                    ^^ 
-^  :::                ^  Adjazenzlisten                      ^  Adjazenzmatrix    Adjazenzlisten        Adjazenzmatrix  ^ 
-|  5                  |  5*4*2 = 40 Zahlen                    5*5 = 25 Zahlen  |  5*4*2 = 40 Zahlen    |  25 Zahlen       | 
-|  6                  |                                      |                                                          | 
-|  7                  |                                      |                                                          | 
-|  8                  |                                      |                                                          | 
-|  9                  |                                      |                                                          | 
-|  n                  |                                      |                                                          | 
- 
- 
- 
-<sup>(Quelle: Verändert nach: ZPG Informatik, Schaller 2020)</sup> 
-==== Reflexionsfragen ==== 
-{{:aufgabe.png?nolink  |}} (x) Diskutiere die Vor- und Nachteile beider Repräsentationsformen. Erstelle dazu eine Tabelle wie diese: 
- 
-|            ^ Adjazenzmatrix  ^ Adjazenzlisten  ^ 
-^ Vorteile   | - ...           | - ...           | 
-^ Nachteile  | - ...           | - ...           | 
- 
- 
- 
-Implementation 
- 
-{{simplefilelist>:faecher:informatik:oberstufe:graphen:adjazenz:*}} 
  • faecher/informatik/oberstufe/graphen/adjazenz.1667301456.txt.gz
  • Zuletzt geändert: 01.11.2022 11:17
  • von Mareike Nutz