Du befindest dich hier: FSI Informatik » Prüfungsfragen und Altklausuren » Prüfungen im Bachelor-Studium (1. - 5. Semester) » aud » Forendiskussionen

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
Nächste ÜberarbeitungBeide Seiten, nächste Überarbeitung
pruefungen:bachelor:aud:loesungws14 [28.03.2016 21:20] tomabrafixpruefungen:bachelor:aud:loesungws14 [09.07.2021 11:58] BobbyB
Zeile 1: Zeile 1:
 ===== Forendiskussionen ===== ===== Forendiskussionen =====
-  * [[https://fsi.informatik.uni-erlangen.de/forum/thread/12767-klausur-WS2014]] Aufgabe 1 +  * [[https://fsi.informatik.uni-erlangen.de/forum/thread/12767-klausur-WS2014|Aufgabe 1]] 
-  * [[https://fsi.cs.fau.de/forum/thread/12844-WS14-ADT]] Aufgabe 6+  * [[https://fsi.cs.fau.de/forum/thread/12844-WS14-ADT|Aufgabe 6]] 
 +  * [[https://fsi.cs.fau.de/forum/thread/17211-Mit-this-keyword-auf-Variablen-zugreifen-WS14-Auf|Aufgabe 7]]
  
 ===== Lösungsversuch ===== ===== Lösungsversuch =====
Zeile 41: Zeile 42:
 </code> </code>
 d) O(n)\\  d) O(n)\\ 
-e) NEIN, es ist nicht widerlegt, da es sich hier nicht um ein vergleichsbasiertes Sorierverfahren handelt (Wo bitte schön soll der Vergleich sein?)+e) NEIN, es ist nicht widerlegt, da es sich hier nicht um ein **nicht** vergleichsbasiertes Sortierverfahren handelt!
  
 ==== Aufgabe 3 - Prim vs. Kruskal (10) ==== ==== Aufgabe 3 - Prim vs. Kruskal (10) ====
Zeile 73: Zeile 74:
         int pos = hk; //current position during exploration         int pos = hk; //current position during exploration
         do { //b)         do { //b)
-            for(int i = 0; i < map[pos].length; i++) { +            for(int i = 0; i < b; i++) { 
-                if(map[pos][i] == null) { +                if(map[pos][i] == null |map[pos][i].equals(k)) { //keine NullPointerException dank lazy evaluation
-                    map[pos|[i] = k; +
-                    return null; +
-                } else if(map[pos][i].equals(k)) {+
                     K kold = map[pos][i];                     K kold = map[pos][i];
                     map[pos][i] = k;                     map[pos][i] = k;
Zeile 83: Zeile 81:
                 }                 }
             }             }
-            pos +c+            pos = (pos + cs;
-            pos %= map.length;+
         } while (pos != hk);         } while (pos != hk);
                  
Zeile 146: Zeile 143:
 axs axs
     bin2nat(empty) = zero     bin2nat(empty) = zero
-    bin2nat(push(s,n)) = add(n,mul(bin2nat(s),succ(succ(zero)))) ?+    bin2nat(push(S,N)) = add(N,mult(bin2nat(S),succ(succ(zero)))) // (N + 2*bin2nat(S)) 
 </code> </code>
 ==== Aufgabe 7 - Doppelverkettung (29) ==== ==== Aufgabe 7 - Doppelverkettung (29) ====
Zeile 197: Zeile 195:
         }         }
         d = c;         d = c;
-        c = c.z;+        c = c.z; //Anmerkung anderer Student: müsste mMn c = c.a sein
       }       }
              
-      DLNode<V> e = this.d;+      // Anmerkung anderer Student: Das Zuruecksetzen von d fehlt mMn, da man ja unten mit dem oben veraenderten c weitermacht . Hab es mal hier drunter eingefuegt 
 +      d = this;  
 +       
 +      DLNode<V> e = this.z;
       while (e != this && e != null) {       while (e != this && e != null) {
         if (e.a != d) {         if (e.a != d) {
Zeile 206: Zeile 207:
         }         }
         d = e;         d = e;
-        e = e.a;+        e = e.a; //Anmerkung anderer Student: müsste mMn e = e.z sein
       }       }
  
Zeile 249: Zeile 250:
         }         }
         //list has only on single node - just empty the deque         //list has only on single node - just empty the deque
-        else if(h.a == null && h.z == null) { +        else if(h.a == null || h.a == h) {
-            // Sollte es nicht eigtl. h == h.a (oder äquivalent h == h.zsein, +
-            // da die Liste zirkulär ist?+
             h = null;             h = null;
         }         }