From b1a8191637195d90f799343c685c190be746f75b Mon Sep 17 00:00:00 2001 From: "artem.didytschuk" Date: Mon, 18 Jan 2021 15:38:25 +0100 Subject: [PATCH] findVertexByID() implementiert --- Breitensuche.class | Bin 4801 -> 5164 bytes Breitensuche.java | 28 +++++++++++++++++++++++++++- BreitensucheTest.class | Bin 1328 -> 1542 bytes BreitensucheTest.ctxt | 4 +++- BreitensucheTest.java | 12 ++++++++++++ 5 files changed, 42 insertions(+), 2 deletions(-) diff --git a/Breitensuche.class b/Breitensuche.class index df8012461eef5a8e874e55f6c73d377f7de4a6f8..133a7dca7602c88508f04a16ed2de1049787cd23 100644 GIT binary patch delta 1908 zcmZWqYgANK6#nkO%pJzV2&`5qEEFuYQ2L{;TEt6yCSXwsqL88t!>A1iGYE=~uY6`| zHw(!(Dwt#l3WdeXN2Uq(epp%dSgnlJ($$|@SbgVS9M&p+oY{AuefIv&x4*OL99jQh z#-+bo+W6{{`Dvw4_* zHrTO72Cdzh5$9W{V!aJf@JP?|GQkELHeyo{He-twTWxp&+obzN8MR$5JLIxc#=m64 z1ZZ-3SuVR|+$&+MQ7u1TlW}{(prBgCKIvhR3D|EV-~)0wXhUQY4#|2oa_6wjc|_tn zs-jj!UDF7qONlm>l`60-bUPQ6&vqU)^1zvZ)!>!_sz&kSIyJ!$-L%To+It99LR^S}Y3tYftf%l~E zqV&CwP6Z(;MMa)cPf12zak|4(Sd?En*n&$|To(8MR|LA{nI25G;;MqcG*_ud;6s`F zS89}9dUgFnS*0-xiHriaZ#O#xrxD{Y3_Yq=)#UDpz<4=LYkPU~sq zh87u=7Li2dfE_VOifE~{$sE@yP3wb(Daur>#x^f&8n>o%6G||DALrLl{DB!rW#Aax zKpHI*5^xpiv;y!XNtj715cxQUCuo^bj$QPp!oo8dcuJPgvIq6CLZ)!)6~;3v6YKG` zo?||i;~C6i4&Y{gRcU1+i)TY{4YQHWs&lx1FMo~rxr{gVa_Gy|?g@@oNfqrWT72-M ztmX|K?vwY4B2HkmKl5m2n8nNj5y+!8kXc5}$6Wv3T$!0?gJ9}|P%&W$7Vy)Ag$&6z zu12aZvw(&E?wC^u3~0viGl9aKg%thoBhuV<~wrK`cCogBR0KM!uJkn{ooEfQ#HM#R^)L zSc8>(v#U@AAL_80f?taUtYd`@6!J!PY7=}N*g}15Wg;Mvs4Lh^hu*eKmNgoZPr3{G z8`ABkt=r#_w*NH5h&LJ{_whbMqJ@*zsth%0TyPG`MWgC@zc=br=iDBL;L?|knsi$ za?j9ZM93(WuUFUQ^pJ7NV_IcMqAz}I0|_#E9>=){wDYTjn(X3*&tVA8^THP}juRvf zm)NSyn8LA#6r#nCuhNczFmHVE-dQTcdmXDL*Igu1#v8r`hGx{wSZZdwRw~+ z($cT&#RSSZqr=S&jS5U?MxwSRG{P_rgiiFu#|}VG#9$`KB z`ZFQ_!jbVS$H7fL=HIXwy>R1q3i%e5cUy-qhXE*IW86r~O+8AmEA)$)n7OFGCE>`+ z<3}+I%4uNSNrv5hslhPcK{yo_5HoP6rF@?y3^$>aSmi%L1z!{GH+*cb^4rdxD*ATo H>)w9>5#V*Y delta 1713 zcmYjRSyWY382-*3IEUkAx~^IbE5sE@Nj@1X7bfXNr4m$%Krusv%jK3a-3tkn*8njm zl8%%#(5Q(ap$M3!gj1v@4wahCFFjOmJzA@8pF|$0P8o2T#VzUIj z+>w_NY*x{tBME-#X_W+9bhKe>I9|av4cm3>z)tDjB~k72cvT*|CB8#PI$o29A&)&0 z*Xd%6F8TSU#J%N$f-V*BNDqUgqg!Xf@5O_bUi1t@N(1rE!;0VxMj#*>9)0k)^JD!UN+QSnSWr=Y}FD_ilt4DbWB?8&BfH?e($M86TY4{DxXxXrU z$>h+oVs#ctVEs+VU$k0!wBny*NpHWQ3Ytl6DG$xG~!9* zlLPo;BC52WB8HvAZ4_b^qps%t-TbxiMZ{ZoYv_C0NQ{`NvRSkj8%rbRFsNB0Ux*{Ip>`A*EJn{C<`m8NxOD zC>-`7%s7Fh)x(&XYhTk#w;fA(Mw$>WG*mF}8cb&93T5UB)ohzmvtY1jhA4!rRAHyB zp5BUTF`6UYMt5{VP(~={tbjU3s3(3C?nRI@+l)DAMh03KrIi!f!mhTFV=H{z_8M$s z_qP+V1G}&jT|9fx&JEekb?D#1aioKL*mzjAcr`t#!c+80xEN4;HFw5A! z@`+)NhYA}H6*e-ZFgZ*MZw*u4S;Op&iZ!}pB2_PW4ZWC)J{H~2e>jJUJwoveaFm0b+AzF0Hl_W(P?kQn#1h6@ zvl>fsvi;zVPYNU1)PsQ2)Pr-DeoxqhB%}zqr)Iiit|Z69Ls($^=}NGSY10=4=g*l; zJrhwRJU0<0p~x6SK+kJo~)^wnyn$+hFbi< ZU!CmV<0o!p9Q7bIZNnS%?KRK0{{z&2KrH|O diff --git a/Breitensuche.java b/Breitensuche.java index 8a2d8f1..57c472d 100644 --- a/Breitensuche.java +++ b/Breitensuche.java @@ -109,7 +109,33 @@ public class Breitensuche { // Nutze dazu die Hilfsmethode getVertexFromListByID, um aus // Liste der Nachbarknoten denjenigen, der alphabetisch als // erstes kommt herauszusuchen. - + if(g.getVertex("Köln").getID().equals(pVertexID)){ + System.out.println("Köln gefunden"); + return true; + } else { + g.getVertex("Köln").setMark(true); + searchQueue.enqueue(g.getVertex("Köln")); + while(!searchQueue.isEmpty()){ + Vertex v = searchQueue.front(); + List cngbrs=copyList(g.getNeighbours(v)); + cngbrs.toFirst(); + while(cngbrs.hasAccess()){ + Vertex vs = getVertexFromListByID(cngbrs); + if(!vs.isMarked()){ + System.out.println(vs.getID()); + if(vs.getID().equals(pVertexID)){ + System.out.println(vs.getID() +" gefunden"); + return true; + } + vs.setMark(true); + searchQueue.enqueue(vs); + } + + } + searchQueue.dequeue(); + } + } + System.out.println(pVertexID +" Nicht gefunden"); return false; } diff --git a/BreitensucheTest.class b/BreitensucheTest.class index e365be3384282608006c98787a9a54c375b3950d..d222d2124c63d50f791a74a83b129553f47a4ee5 100644 GIT binary patch delta 601 zcmb7>%Q6E&6o&tvglUrzs^bzuT!LXn5+RZxBtoUiN~uzoHbj+;1zE7l&caU3Gbl^4 zL0NbJ&tUH@aJn<%vZ5EK|8uIpzt8EuHO|fL=eNfv09mXV=z^tV(trkwV~WF;(lIcN zI7fmb$uYx`;+W-_ljStWJV!~a}(!Qq^_$u-yO31rc+I5W~c<{plBM4EOa>)8PUYro}0$0&5R9y_eZvus8xL0V|H2 zk?(S6JvBE>v6oTR=3!fv?NwNBxqBr^hm)UshA#6g2=~j^Jij=?e|SEP{=?TLMYHq` D6a*#s diff --git a/BreitensucheTest.ctxt b/BreitensucheTest.ctxt index 6493023..7129412 100644 --- a/BreitensucheTest.ctxt +++ b/BreitensucheTest.ctxt @@ -6,4 +6,6 @@ comment2.params= comment2.target=void\ testFindVertex() comment3.params= comment3.target=void\ testFindVertexByWeight() -numComments=4 +comment4.params= +comment4.target=void\ testFindVertexByID() +numComments=5 diff --git a/BreitensucheTest.java b/BreitensucheTest.java index 2c4c448..2d7b536 100644 --- a/BreitensucheTest.java +++ b/BreitensucheTest.java @@ -33,5 +33,17 @@ public class BreitensucheTest { assertFalse("Der Knoten Tokio ist nicht im Graphen vorhanden.", ts.findVertexByWeight("Tokio")); assertFalse("Der Knoten London ist nicht im Graphen vorhanden.", ts.findVertexByWeight("London")); } + + @Test + public void testFindVertexByID() { + Breitensuche ts = new Breitensuche(); + + assertTrue("Der Knoten Köln ist im Graphen vorhanden.", ts.findVertexByID("Köln")); + assertTrue("Der Knoten Bielefeld ist im Graphen vorhanden.", ts.findVertexByID("Bielefeld")); + assertTrue("Der Knoten Bochum ist im Graphen vorhanden.", ts.findVertexByID("Bochum")); + + assertFalse("Der Knoten Tokio ist nicht im Graphen vorhanden.", ts.findVertexByID("Tokio")); + assertFalse("Der Knoten London ist nicht im Graphen vorhanden.", ts.findVertexByID("London")); + } }