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
pruefungen:bachelor:aud:loesungss13 [23.03.2014 16:11] johnsonpruefungen:bachelor:aud:loesungss13 [04.04.2022 07:31] (aktuell) – Warnung hinzugefügt BobbyB
Zeile 11: Zeile 11:
 **b)** falsch\\ **b)** falsch\\
  
-**c)** true\\ +**c)** true\\  
  
 **d)** falsch\\ **d)** falsch\\
Zeile 26: Zeile 26:
  
 **i)** class GenericContainer<E extends Comparable<E> >\\ **i)** class GenericContainer<E extends Comparable<E> >\\
 +Da in Zeile 6 auf die Methode "compareTo" zwingend zugegriffen werden muss.
  
 **j)** O(n log n) \\ **j)** O(n log n) \\
Zeile 89: Zeile 90:
 axs: axs:
 diff(const(d)) = const(0) diff(const(d)) = const(0)
-diff(v) = 1+diff(v) = const(1)
 diff(add(a, b)) = add(diff(a), diff(b)) diff(add(a, b)) = add(diff(a), diff(b))
 </code> </code>
Zeile 111: Zeile 112:
 diff(sin(a)) = mul(cos(a), diff(a)) diff(sin(a)) = mul(cos(a), diff(a))
 diff(cos(a)) = sub(const(0), mul(sin(a), diff(a)))  diff(cos(a)) = sub(const(0), mul(sin(a), diff(a))) 
 +**Besser (wenn a negativ ist):**
 +diff(cos(a)) = mul(sub(const(0), sin(a)), diff(a))
 +//Geht nicht auch folgendes:?
 +diff(cos(a)) = mul(mul(const(-1),sin(a)),diff(a))
 </code> </code>
  
Zeile 128: Zeile 133:
 i) i)
 ^ Buckets ^ 0 ^ 1 ^ 2 ^ 3 ^ 4 ^ 5 ^  ^ Buckets ^ 0 ^ 1 ^ 2 ^ 3 ^ 4 ^ 5 ^ 
-^ Schlüssel | V2 | V4 | V6 | V4 | V3 | V1 | +^ Schlüssel | V2 | V4 | V6 | V5 | V3 | V1 | 
  
 ii) ii)
Zeile 166: Zeile 171:
 **c)** **c)**
 <code java> <code java>
 +// Achtung, diese Lösung ist ziemlich sicher falsch. Nicht rekursiv gelöst wie gefordert und damit werden auch nicht alle Lösungen gefunden
 double durchfluss(List<Verteiler> quelleSeite, List<Verteiler> senkeSeite, Verteiler senke){ double durchfluss(List<Verteiler> quelleSeite, List<Verteiler> senkeSeite, Verteiler senke){
-        Verteiler[] ssa = senkeSeite.toArray(new Verteiler[senkeSeite.size()]);      + Verteiler[] ssa = senkeSeite.toArray(new Verteiler[senkeSeite.size()]); 
-        double df = schnittDurchfluss(quelleSeite, senkeSeite); + double df = schnittDurchfluss(quelleSeite, senkeSeite); 
-        if(senkeSeite.size() == 1){          + for(Verteiler v : ssa){ 
-            return df; + if(!v.equals(senke) && senkeSeite.contains(v)){ 
-        } else { + quelleSeite.add(v); 
-            for(int i = 0; i < ssa.length; i++){              + senkeSeite.remove(v); 
-                if(!ssa[i].equals(senke) && !quelleSeite.contains(ssa[i])){ + df = Math.min(df, this.schnittDurchfluss(quelleSeite, senkeSeite)); 
-                    quelleSeite.add(ssa[i]); + senkeSeite.add(v); 
-                    ssa[i] = null; + quelleSeite.remove(v); 
-                    ArrayList<Verteiler> s = new ArrayList<Verteiler>(); +
-                    for(Verteiler v : ssa){ +
-                        if(v != null){ + return df;  
-                            s.add(v); +}
-                        } +
-                    } +
-                    df = Math.min(df, durchfluss(quelleSeite, s, senke)); +
-                    ssa[i] = quelleSeite.get(quelleSeite.size() - 1); +
-                    quelleSeite.remove(quelleSeite.get(quelleSeite.size() - 1));                     +
-                } +
-            +
-               +
-        return df; +
-    +
 </code> </code>