{"id":2733,"date":"2010-03-23T19:04:21","date_gmt":"2010-03-23T18:04:21","guid":{"rendered":"https:\/\/www.herr-rau.de\/wordpress\/?p=2733"},"modified":"2023-05-14T10:18:38","modified_gmt":"2023-05-14T08:18:38","slug":"gemischtes-material-zum-graphendurchlauf-tiefensuche-und-dijkstra","status":"publish","type":"post","link":"https:\/\/www.herr-rau.de\/wordpress\/2010\/03\/gemischtes-material-zum-graphendurchlauf-tiefensuche-und-dijkstra.htm","title":{"rendered":"Gemischtes Material zum Graphendurchlauf (Tiefensuche und Dijkstra)"},"content":{"rendered":"<div style='text-align:right;'><small>(<a href='https:\/\/www.herr-rau.de\/wordpress\/2010\/03\/gemischtes-material-zum-graphendurchlauf-tiefensuche-und-dijkstra.htm#comments'>5 Kommentare.<\/a>)<\/small> <\/div>\n<p>Ein Graph ist wie die <a href=\"https:\/\/www.herr-rau.de\/wordpress\/2009\/11\/einfach-verkettete-listen-meine-materialsammlung.htm\">verkettete Liste<\/a> eine dynamische Datenstruktur. Das ist Stoff im Fach Informatik, 11. Klasse, Bayern.<\/p>\n\n\n\n<p>Ein Graph ist im eigentlich nur ein Haufen von Punkten, von denen manche miteinander verbunden sind. Die Punkte hei\u00dfen auch Knoten und die Verbindungen Kanten. Ein Graph besteht also aus einer Reihe von Knoten und einer Reihe von Kanten; jede Kante verbindet zwei Knoten, und von jedem Knoten geht eine Anzahl von Kanten weg.<\/p>\n\n\n\n<p>So einen Graph kritzelt man ganz schnell auf ein Blatt Papier. &#8222;Das ist das Haus vom Nikolaus&#8220; ist ein Graph. Die kleine Karte, die man sich bei einem Computerspiel anfertigt, ist ein Graph (jedenfalls bei den Spielen, die ich so spiele).<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"217\" height=\"278\" src=\"https:\/\/www.herr-rau.de\/wordpress\/archiv\/graph_haus_vom_nikolaus.jpg\" alt=\"\" class=\"wp-image-2734\" title=\"graph_haus_vom_nikolaus\" srcset=\"https:\/\/www.herr-rau.de\/wordpress\/archiv\/graph_haus_vom_nikolaus.jpg 217w, https:\/\/www.herr-rau.de\/wordpress\/archiv\/graph_haus_vom_nikolaus-117x150.jpg 117w\" sizes=\"auto, (max-width: 217px) 100vw, 217px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"550\" height=\"323\" src=\"https:\/\/www.herr-rau.de\/wordpress\/archiv\/graph_zork.jpg\" alt=\"\" class=\"wp-image-2735\" title=\"graph_zork\" srcset=\"https:\/\/www.herr-rau.de\/wordpress\/archiv\/graph_zork.jpg 550w, https:\/\/www.herr-rau.de\/wordpress\/archiv\/graph_zork-150x88.jpg 150w\" sizes=\"auto, (max-width: 550px) 100vw, 550px\" \/><\/figure>\n\n\n\n<p>Mit einem Graph kann man das U- und S-Bahn-Netz M\u00fcnchen modellieren, die Verteilung von Elementen auf einer Leiterplatte, das <a href=\"http:\/\/de.wikipedia.org\/wiki\/K%C3%B6nigsberger_Br%C3%BCckenproblem\">K\u00f6nigsberger Br\u00fcckenproblem<\/a> oder das Stra\u00dfennetz Deutschlands.<\/p>\n\n\n\n<p>Wenn man dann so eine Situation als Graph modelliert hat und diesen Graphen vielleicht noch auf die eine oder andere Art in einem Computerprogramm umgesetzt hat, dann will man auch etwas mit ihm anfangen. Den k\u00fcrzesten Weg von einem Knoten zum anderen finden, oder die k\u00fcrzeste Rundreise, bei der man bei jedem Knoten mindestens einmal vorbeigeschaut hat. F\u00fcr diese und \u00e4hnliche Probleme gibt es mehr oder weniger gute Algorithmen, also genaue &#8211; und damit leicht in ein Programm umsetzbare &#8211; L\u00f6sungsregeln.<\/p>\n\n\n\n<p>Ein einfaches solches Problem besteht darin, von einem Startknoten aus alle anderen erreichbaren Knoten zu besuchen und dabei keinen zu \u00fcbersehen. Ein einfacher Algorithmus dazu hei\u00dft &#8222;Tiefensuche&#8220;, und der steht explizit im Lehrplan. Die Tiefensuche erkl\u00e4re ich hier nicht; ich will nur die Aufzeichnung einer Pr\u00e4sentation dazu zeigen, die ich mal angefertigt aber nie benutzt habe. Die Idee f\u00fcr die H\u00f6hlenerkundung als Beispiel der Tiefensuche habe ich aus dem Buch<br><em>Informatik. Rekursive Datenstrukturen, Softwaretechnik. Sch\u00fclerbuch 11. Klasse<\/em> von Peter Hubwieser, Patrick L\u00f6ffler und Petra Schwaiger (bei Klett).<\/p>\n\n\n\n<figure class=\"wp-block-embed\"><div class=\"wp-block-embed__wrapper\">\nhttps:\/\/www.youtube.com\/watch?v=2Fnz1atRBY\n<\/div><\/figure>\n\n\n\n<p><a href=\"https:\/\/www.herr-rau.de\/wordpress\/archiv\/graph_tiefensuche_hoehle.zip\">(Herunterladen als &#8211; etwas schlampig geschriebene &#8211; Open-Officen-Datei.)<\/a><\/p>\n\n\n\n<p>Andere Algorithmen zum Durchlauf eines Graphen sind etwa die Breitensuche oder der <a href=\"http:\/\/de.wikipedia.org\/wiki\/Dijkstra-Algorithmus\">Dijkstra-Algorithmus<\/a>. Auch den will ich hier nicht gro\u00df erkl\u00e4ren, obwohl er ziemlich wichtig ist.Ich habe ihn zuerst nicht verstanden, obwohl ich die Erkl\u00e4rung im Buch gelesen habe. Daraufhin habe ich den Algorithmus nach und nach umgeformt, auf Papier gekritzelt, zusammengefasst, und neu f\u00fcr mich formuliert. Dann hatte ich ihn verstanden. Und als ich meine Formulierung mit der im Buch verglich, sah ich, dass da ziemlich genau das gleiche stand.<\/p>\n\n\n\n<p>Mit dem Dijkstra-Algorithmus lassen sich effizient nicht nur irgendwelche Wege im Graphen finden (wie bei der Tiefensuche), sondern jeweils die k\u00fcrzesten Wege von einem Startpunkt aus zu allen anderen Punkten. Auch dazu gibt es eine Pr\u00e4sentation. Das muss wohl so sein, davon gibt es bei Youtube schon so viele, aber jeder Informatiklehrer muss irgendwann mal seine eigene machen:<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-4-3 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Der Dijkstra-Algorithmus\" width=\"500\" height=\"375\" src=\"https:\/\/www.youtube.com\/embed\/S8y-Sk7u1So?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<p>(<a href=\"https:\/\/www.herr-rau.de\/wordpress\/archiv\/graph_dijkstra.odp\">Herunterladen als Open-Office-Datei<\/a>, dazu noch ein <a href=\"https:\/\/www.herr-rau.de\/wordpress\/archiv\/graph_dijkstra_AB.odp\">Arbeitsblatt<\/a> zum Ausdrucken, um das mit dem Bleistift nachzuvollziehen. Nur so kapiert man es.)<\/p>\n","protected":false},"excerpt":{"rendered":"<p>(5 Kommentare.) Ein Graph ist wie die verkettete Liste eine dynamische Datenstruktur. Das ist Stoff im Fach Informatik, 11. Klasse, Bayern. Ein Graph ist im eigentlich nur ein Haufen von Punkten, von denen manche miteinander verbunden sind. Die Punkte hei\u00dfen auch Knoten und die Verbindungen Kanten. Ein Graph besteht also aus einer Reihe von Knoten [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":2734,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[25],"tags":[227],"class_list":["post-2733","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-informatik","tag-informatik"],"jetpack_featured_media_url":"https:\/\/www.herr-rau.de\/wordpress\/archiv\/graph_haus_vom_nikolaus.jpg","jetpack_sharing_enabled":true,"jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/www.herr-rau.de\/wordpress\/wp-json\/wp\/v2\/posts\/2733","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.herr-rau.de\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.herr-rau.de\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.herr-rau.de\/wordpress\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.herr-rau.de\/wordpress\/wp-json\/wp\/v2\/comments?post=2733"}],"version-history":[{"count":2,"href":"https:\/\/www.herr-rau.de\/wordpress\/wp-json\/wp\/v2\/posts\/2733\/revisions"}],"predecessor-version":[{"id":56537,"href":"https:\/\/www.herr-rau.de\/wordpress\/wp-json\/wp\/v2\/posts\/2733\/revisions\/56537"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.herr-rau.de\/wordpress\/wp-json\/wp\/v2\/media\/2734"}],"wp:attachment":[{"href":"https:\/\/www.herr-rau.de\/wordpress\/wp-json\/wp\/v2\/media?parent=2733"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.herr-rau.de\/wordpress\/wp-json\/wp\/v2\/categories?post=2733"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.herr-rau.de\/wordpress\/wp-json\/wp\/v2\/tags?post=2733"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}