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:loesung-miniklausur-13 [02.12.2015 20:43] tomabrafixpruefungen:bachelor:aud:loesung-miniklausur-13 [28.03.2016 16:16] Marcel[Inf]
Zeile 82: Zeile 82:
 **c)** -2 zwischen dem head-Element und 7 einfügen. Die next-Referenz des Sentinel-Elements zeigt dann auf -2, und next von -2 verweist auf 7. **c)** -2 zwischen dem head-Element und 7 einfügen. Die next-Referenz des Sentinel-Elements zeigt dann auf -2, und next von -2 verweist auf 7.
  
 +**d)** O(n), da das Element, nach dem eingefügt werden soll, immer erst per linearer Suche gesucht werden müsste.
 +
 +**e)** 
 +<code java>
 +public void addSorted(Entry toAdd){ //keeps list sorted
 +   Entry cur = head.next;
 +   Entry drag = head;
 +   
 +   // Fügt das Element immer hinter gleichen Elementen ein
 +   // z. B. füge 3'' in -1 -> 2 -> 3 -> 3' -> 5 -> ... ein:
 +   //                   -1 -> 2 -> 3 -> 3' -> 3'' -> 5 -> ...
 +   while(cur.element < toAdd.element && cur != head){
 +     drag = cur;
 +     cur = drag.next;
 +   }
 +   drag.next = toAdd;
 +   toAdd.next = cur;
 +}
 +</code>
 ==== Aufgabe 4 (Abstrakte Datentypen) ==== ==== Aufgabe 4 (Abstrakte Datentypen) ====
  
Zeile 95: Zeile 114:
 **axs** **axs**
 <code> <code>
 +// Werte überschreiben
 +// Axiom set(x, val, create) nicht spezifiziert, da es nicht weiter
 +// aufgelöst werden kann, denn set ist ein Konstruktor.
 +set(x, val1, set(y, val2, aa)) = set(x, val1, aa)
 +
 get(x,create) = null get(x,create) = null
 get(x, set(y, e, aa)) = e, wenn x = y;  sonst: get(x, aa) get(x, set(y, e, aa)) = e, wenn x = y;  sonst: get(x, aa)
Zeile 100: Zeile 124:
 delete(x, set(y, e, aa)) = aa, wenn x = y; sonst: set(y, e, delete(x, aa)) delete(x, set(y, e, aa)) = aa, wenn x = y; sonst: set(y, e, delete(x, aa))
 size(create) = 0 size(create) = 0
-size(x, set(x, e, aa) = size(aa), wenn get(x, aa) = null; sonst: 1 + size(aa) +size(set(x, e, aa)) = 1 + size(aa) 
 </code> </code>