Du befindest dich hier: FSI Informatik » 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 der Seite angezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige ÜberarbeitungVorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
pruefungen:bachelor:aud:loesungss19 [21.06.2020 10:28] kat04pruefungen:bachelor:aud:loesungss19 [25.06.2020 15: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