Du befindest dich hier: FSI Informatik » Prüfungsfragen und Altklausuren » Prüfungen im Bachelor-Studium (1. - 5. Semester) » aud » Lösungsversuch SS 19
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
Beide Seiten, vorherige ÜberarbeitungVorherige ÜberarbeitungNächste Überarbeitung | Vorherige ÜberarbeitungLetzte ÜberarbeitungBeide Seiten, nächste Überarbeitung | ||
pruefungen:bachelor:aud:loesungss19 [21.06.2020 10:58] – kat04 | pruefungen:bachelor:aud:loesungss19 [25.06.2020 08:49] – kat04 | ||
---|---|---|---|
Zeile 238: | Zeile 238: | ||
} | } | ||
- | } | + | }// |
- | } | + | }//while schießt |
- | + | if(visited.size()!=allNodes.size()){ | |
- | } | + | return false; // abfrage ist wichtig, weil es kann sein, dass zwei Knoten gegenseitig auf sich zeigen, damit haben sie beide Vor und Nachfolger aber die anderen Knoten werden nicht erreicht |
+ | } | ||
+ | }// | ||
return true; | return true; | ||
} | } | ||
Zeile 267: | Zeile 269: | ||
stack.add(node); | stack.add(node); | ||
while(!stack.isEmpty()) { | while(!stack.isEmpty()) { | ||
- | E akt = stack.pop(); | + | E akt = stack.peek(); //nicht rauslöschen!!! |
List< | List< | ||
if(nach.isEmpty()) { | if(nach.isEmpty()) { | ||
//keine nachfolger = Blattknoten -> zu Euler hinzu | //keine nachfolger = Blattknoten -> zu Euler hinzu | ||
- | euler.add(akt); | + | euler.addFirst(akt); |
}else { | }else { | ||
for(E e : nach) { | for(E e : nach) { | ||
Zeile 314: | Zeile 316: | ||
< | < | ||
sCH(Create, u, accu) = ... | sCH(Create, u, accu) = ... | ||
- | ... accu falls containsAll (accu, u) | + | ... accu falls containsAll |
... create sonst | ... create sonst | ||
Zeile 326: | Zeile 328: | ||
String getVerticalPrefix(int r, int c) { | String getVerticalPrefix(int r, int c) { | ||
- | if(r<0 || g[r][c]=='#' | + | if(r<0 || g[r][c]=='#' |
return ""; | return ""; | ||
}else { | }else { | ||
Zeile 356: | Zeile 358: | ||
// traverse g row by row and left to right | // traverse g row by row and left to right | ||
if(wsH.isEmpty()) { | if(wsH.isEmpty()) { | ||
- | // wenn ich alle horizontele Wörter platzieren konnte bin ich fertig | ||
- | // die vertikalen werden unten schon geprueft | ||
return true; | return true; | ||
} else if(c> | } else if(c> |