Du befindest dich hier: FSI Informatik » Prüfungsfragen und Altklausuren » Prüfungen im Bachelor-Studium (1. - 5. Semester) » aud » Forendiskussionen   (Ü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
Letzte ÜberarbeitungBeide Seiten, nächste Überarbeitung
pruefungen:bachelor:aud:loesungws14 [28.03.2016 21:20] tomabrafixpruefungen:bachelor:aud:loesungws14 [07.04.2022 17:18] – Kruskal korrigiert 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) ====
 a) (A,B) -- (B,D) -- (B,C)\\  a) (A,B) -- (B,D) -- (B,C)\\ 
-b) (B,D) -- (A,D) -- (D,C)\\ +b) (B,D) -- (A,B) -- (B,C)\\ 
 c) NEIN c) NEIN
  
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;
         }         }