Sie befinden sich hier: Termine » Prüfungsfragen und Altklausuren » Prüfungen im Bachelor-Studium (1. - 5. Semester) » aud » Lösungsversuch SS 19   (Übersicht)

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu dieser Vergleichsansicht

Both sides previous revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
pruefungen:bachelor:aud:loesungss19 [21.06.2020 12:28]
kat04
pruefungen:bachelor:aud:loesungss19 [25.06.2020 17:48] (aktuell)
kat04
Zeile 238: Zeile 238:
  }  }
  
-+ }//​visitedAbfrage schließt 
-+ }//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  
 + }  
 + }//​forschleife schließt
  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<​E> ​vor = succs(akt);​ + List<​E> ​nach = succs(akt);​ 
- if(vor.isEmpty()) {+ if(nach.isEmpty()) {
  //keine nachfolger = Blattknoten -> zu Euler hinzu  //keine nachfolger = Blattknoten -> zu Euler hinzu
- euler.add(akt);+ euler.addFirst(akt); //vorne anfügen 
 +                                stack.pop();
  }else {  }else {
- for(E e : vor) {+ for(E e : nach) {
  stack.push(e);​  stack.push(e);​
  }  }
Zeile 296: Zeile 299:
 ContainsAll(s1,​Empty) = true  ContainsAll(s1,​Empty) = true 
 containsAll(Empty,​s2) = false  containsAll(Empty,​s2) = false 
-containsAll(s1,​Add(s2,​e)) = ContainsAll(s1,​Add(s2,e))+containsAll(s1,​Add(s2,​e)) = ContainsAll(s1,​s2) && contains (s1,e)
 </​code>​ </​code>​
  
Zeile 314: Zeile 317:
 <​code=java>​ <​code=java>​
 sCH(Create, u, accu) = ... sCH(Create, u, accu) = ...
-... accu falls containsAll (accu, u)+... accu falls containsAll ​(setUnion(accu), u)
 ... create sonst ... create sonst
  
Zeile 326: Zeile 329:
 String getVerticalPrefix(int r, int c) { String getVerticalPrefix(int r, int c) {
   
- if(r<0 || g[r][c]=='#'​ || r> g.length || c > g[r].length) {+ if(r<0 || g[r][c]=='#'​ || r>g.length || c >g[r].length) {
  return "";​  return "";​
  }else {  }else {
Zeile 356: Zeile 359:
  // 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>​g[r].length) { // ende der Zeile  } else if(c>​g[r].length) { // ende der Zeile