From e020e34d94b6887fa5fee8a78f2eb990405c0504 Mon Sep 17 00:00:00 2001 From: Sean Reich Date: Sun, 7 Jul 2024 16:47:41 +0200 Subject: [PATCH] Beispiel 4 neu --- graph/ExampleGraphs.java | 79 ++++++++++-------- .../OurApplication/OurParameterArea.class | Bin 2410 -> 2411 bytes .../ProjektGraph/graph/ExampleGraphs.class | Bin 6416 -> 6165 bytes 3 files changed, 43 insertions(+), 36 deletions(-) diff --git a/graph/ExampleGraphs.java b/graph/ExampleGraphs.java index 283afdc..8e9050d 100644 --- a/graph/ExampleGraphs.java +++ b/graph/ExampleGraphs.java @@ -185,49 +185,56 @@ public class ExampleGraphs { - public DirectedGraph example4() { + public static DirectedGraph example4() { - /* - * Beispiel 4 zeigt einen gerichteten Graphen mit deutschen Städten als Knoten und - * zufällig gewichteten Kanten. + /** + * Erstellt einen Beispielgraphen (Beispiel 4), der sich ideal für die Demonstration der Funktionsweise + * des Dijkstra- und A*-Algorithmus eignet. Der Graph enthält eine Vielzahl von Knoten, die durch + * gewichtete Kanten verbunden sind. Dies ermöglicht es, den kürzesten Weg von einem Startknoten zu einem + * Zielknoten effizient zu berechnen und die Unterschiede zwischen den beiden Algorithmen in der + * Pfadfindung zu veranschaulichen. + * + * Startknoten: A + * Zielknoten: H + * */ DirectedGraph example4 = new DirectedGraph<>(); - // Städte als Knoten - MarkedVertex Berlin = new MarkedVertex<>(100, 100, "Berlin", null, null); - MarkedVertex Hamburg = new MarkedVertex<>(200, 100, "Hamburg", null, null); - MarkedVertex München = new MarkedVertex<>(300, 100, "München", null, null); - MarkedVertex Köln = new MarkedVertex<>(100, 200, "Köln", null, null); - MarkedVertex Frankfurt = new MarkedVertex<>(200, 200, "Frankfurt", null, null); - MarkedVertex Stuttgart = new MarkedVertex<>(300, 200, "Stuttgart", null, null); - MarkedVertex Leipzig = new MarkedVertex<>(100, 300, "Leipzig", null, null); - MarkedVertex Dresden = new MarkedVertex<>(200, 300, "Dresden", null, null); - MarkedVertex Hannover = new MarkedVertex<>(300, 300, "Hannover", null, null); + // Erstellung der Knoten mit Koordinaten + MarkedVertex A = new MarkedVertex<>(50, 250, "A", null, null); + MarkedVertex B = new MarkedVertex<>(150, 150, "B", null, null); + MarkedVertex C = new MarkedVertex<>(150, 350, "C", null, null); + MarkedVertex D = new MarkedVertex<>(250, 100, "D", null, null); + MarkedVertex E = new MarkedVertex<>(250, 250, "E", null, null); + MarkedVertex F = new MarkedVertex<>(350, 200, "F", null, null); + MarkedVertex G = new MarkedVertex<>(450, 300, "G", null, null); + MarkedVertex H = new MarkedVertex<>(450, 100, "H", null, null); - // Kanten mit zufälligen Gewichtungen - example4.addVertex(Berlin); - example4.addVertex(Hamburg); - example4.addVertex(München); - example4.addVertex(Köln); - example4.addVertex(Frankfurt); - example4.addVertex(Stuttgart); - example4.addVertex(Leipzig); - example4.addVertex(Dresden); - example4.addVertex(Hannover); + // Hinzufügen der Knoten zum Graphen + example4.addVertex(A); + example4.addVertex(B); + example4.addVertex(C); + example4.addVertex(D); + example4.addVertex(E); + example4.addVertex(F); + example4.addVertex(G); + example4.addVertex(H); - example4.addEdge(new MarkedEdge<>("Berlin-Hamburg", Berlin, Hamburg, new EdgeWeightMarking(1))); - example4.addEdge(new MarkedEdge<>("Berlin-München", Berlin, München, new EdgeWeightMarking(2))); - example4.addEdge(new MarkedEdge<>("Berlin-Köln", Berlin, Köln, new EdgeWeightMarking(3))); - example4.addEdge(new MarkedEdge<>("Hamburg-Frankfurt", Hamburg, Frankfurt, new EdgeWeightMarking(2))); - example4.addEdge(new MarkedEdge<>("Hamburg-Leipzig", Hamburg, Leipzig, new EdgeWeightMarking(3))); - example4.addEdge(new MarkedEdge<>("München-Stuttgart", München, Stuttgart, new EdgeWeightMarking(1))); - example4.addEdge(new MarkedEdge<>("München-Dresden", München, Dresden, new EdgeWeightMarking(2))); - example4.addEdge(new MarkedEdge<>("Köln-Hannover", Köln, Hannover, new EdgeWeightMarking(3))); - example4.addEdge(new MarkedEdge<>("Frankfurt-Stuttgart", Frankfurt, Stuttgart, new EdgeWeightMarking(1))); - example4.addEdge(new MarkedEdge<>("Stuttgart-Leipzig", Stuttgart, Leipzig, new EdgeWeightMarking(2))); - example4.addEdge(new MarkedEdge<>("Leipzig-Dresden", Leipzig, Dresden, new EdgeWeightMarking(1))); - example4.addEdge(new MarkedEdge<>("Dresden-Hannover", Dresden, Hannover, new EdgeWeightMarking(3))); + // Erstellung der Kanten mit Gewichtungen + example4.addEdge(new MarkedEdge<>("AB", A, B, new EdgeWeightMarking(4))); + example4.addEdge(new MarkedEdge<>("AC", A, C, new EdgeWeightMarking(2))); + example4.addEdge(new MarkedEdge<>("BC", B, C, new EdgeWeightMarking(5))); + example4.addEdge(new MarkedEdge<>("BD", B, D, new EdgeWeightMarking(10))); + example4.addEdge(new MarkedEdge<>("CD", C, D, new EdgeWeightMarking(3))); + example4.addEdge(new MarkedEdge<>("CE", C, E, new EdgeWeightMarking(7))); + example4.addEdge(new MarkedEdge<>("DE", D, E, new EdgeWeightMarking(2))); + example4.addEdge(new MarkedEdge<>("DF", D, F, new EdgeWeightMarking(2))); + example4.addEdge(new MarkedEdge<>("EF", E, F, new EdgeWeightMarking(5))); + example4.addEdge(new MarkedEdge<>("EG", E, G, new EdgeWeightMarking(10))); + example4.addEdge(new MarkedEdge<>("FG", F, G, new EdgeWeightMarking(3))); + example4.addEdge(new MarkedEdge<>("FH", F, H, new EdgeWeightMarking(6))); + example4.addEdge(new MarkedEdge<>("GH", G, H, new EdgeWeightMarking(1))); return example4; } diff --git a/out/production/ProjektGraph/OurApplication/OurParameterArea.class b/out/production/ProjektGraph/OurApplication/OurParameterArea.class index 9307c163cdd58cf8a428f7188e4e8afe0ab5396a..4bd7c6701e51c875ce3d6f9756857f1b89e5cf09 100644 GIT binary patch delta 113 zcmaDQ^jc^`8;9mB1|}e6U~t^cz#h4sfzwB83xmKapa2jU05KyFvw+x>*K>$7h3}Yr zoI}&Vh9RG!0w^d3(aKQCPzB_1FjzA1G4KPm)B$bbl4f#Sy)&nD{y)N0KjSz AH2?qr delta 112 zcmaDY^h#($8;9mh1|}e6U~t&Yz#h4sfzwB83xmKapa2l)12H2Ivw+x>*K>$7Zkv39 zL({;TA)lcFC?*Ec$xz8q1>|usSTOK0@B?+!0eRdEEPohu*csSaSXd@2a(V#(pj8po diff --git a/out/production/ProjektGraph/graph/ExampleGraphs.class b/out/production/ProjektGraph/graph/ExampleGraphs.class index 8a024f8f59c8879d876c13be5c611534c5f17806..7d87d58eb2d2fa9b39e196018906f6f3b5b479c4 100644 GIT binary patch delta 1837 zcmZuyTWnNS6kYq?nS1X{TiTftbf~BwqS8(k+a@ZsU|+NZp@|rDd=ye!HHKKDY2ud? zKQ#R`89)mvqLeBkQfoWfL0$ubP(a$sOCa$9i0>a0B*wVTIWuiDG3}hQy3W~que0Zz z)z>Q4&J7;^cX$_oTAb|<_WA0h*~2=4Ra@`j4bF899@cZNZ}jjc=Y~Zd-sarM`5iSk zd3cxeBF1gz+|)d9yVGOea8%%Sv_I7$E2YrE@gTm&2^XXJxC3K}^MNrrndlFe%IU

eOn7kw7zDz+)d^fR zH6jl%gXeJtbwn;+VUHV#Jgr=Po1V_AlxMppIOt>)4HPxnRP=Z8DXnM^iUGSS ztH_SxpjH&IOEQW|?I0dxejC-+Rer}x(K722zjvi*l{Jn>h#b6N?d2^|ie9z0qm{@* zkF^1-hyvJVb)$_ah}~8f+KKYw7`58)Bw;=-S}k~*r~p^3YCJKaNS!gJ~rld85L*ZIOIfmL7 zl4!WzP;NZKF;~J+UTN77t}BhIp>p?Wf^XPG`wSxg0WFJ=VE_OC delta 2020 zcmZuyX>3$g7(L&c?ag$X8JfZaX^0@E*in|c0U@$zYNQygAy$acc7{dkv>94sjByeY z3_ndCAe(HWMT^*4X|-jw2#8RXRuEgt4x%XN4}*zO&wcOBP^p~RtbE? zrHXL9!2ejHJpST>xPeq;qZ)<#!n>Hy$&!{9xTjY~oBwp1 zt~)OAsAAEDF_|YhUR(*_M_l#cr%c?7pUrK0m;7qJ<{#s}A;>qA{(SSWKYz+@UgCWa zegMyyR!9?p26eYyi}YbHai+Zh`>>xQ!RP4Us@>+Oz!lkJW@eNo)vCGhV*(;LfG-$5 z9FOB54#9(5Jd49bZoGoo4p)ts!vQB8T^*fN{*w9u9K{hvXb4g3D`db$2FN30uR6w6 z_FO0DzBc3Ju@#I|_I4?{4$X%%_uTFL`tUJcyxq2t{}p6Zv@rldQcJ!^gR) zjt7N~TOJhZLN|33`i{tDp%XaCoeag@_#UUITZAn9K;*R?7Fn5;hH}Wr2Po2$7U`jg z9om}??PaKK{WL@R?4xZi$f^>a?W*j`^w~n@q)tjoxlomC&>s* zCUT=hvN46ogL(LiJMLzx1g>Hlkq^sw@-v8Z%elH^-O^RgQ)ekS<8>Upp7W@Sjt+!R zT8{Q%5a23GIdT=^jOEC14RaigaRu-U^<9{(-Q>+HN3*ocd=1Lce61VL5qYsh+t0V7 z9KE6K!1F{p)@bW6pU98x+HzD71+Z7ELzE~ZiQ`%Y77%9QlJ+DP5oO_~HW@DvWlM%u zfGVOK$=C7_Cko0q&4n7Gkj#)9JcMq9Z*AK$|KDw&wRg=ej--hUzARrmd}Xch&umX3 zTo#N5qhV8|6}ctt9EWh2#7c{pWf4+H;w_7q=vGWH%0=NdHsf)E6t&K#yiS;+-nJ>` zwBn>NywPTKG9y*C5V_4Z=T8NaddH>$W@m7Sc+GRc!C8S848ErwqszkY7Dmi*;oQpl zLW7Qmm3dk*ycJ_xFu|UGztEtsVP)Ri_=boN($I+ zCh>umu(8Z%OIgC(U&bO`&8E}9rqRff-N{;Q=gZj7azDi4IL1=%vda7vA9oM_KrajG zw2VfdOiAL5%*I)%#yMGz^RgKiqzxCP3zy^?E^8k4U)2?B?8lR;6Zr>coyxtA6-=fo zw-2j`ROKF}A-i(hu$G8*BK25L#5$1`*g(X}m8F=oiBSEMt;QB2KN@5%wi2o4X}4_M iO4k2fyKs(k8qVVae{~l6WqvQ>8b<-5UvM42!T1-Whw)(m