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.
Beide Seiten, vorherige ÜberarbeitungVorherige ÜberarbeitungNächste Überarbeitung | Vorherige Überarbeitung | ||
pruefungen:bachelor:aud:loesung-miniklausur-13 [02.12.2015 20:43] – tomabrafix | pruefungen:bachelor:aud:loesung-miniklausur-13 [09.01.2017 23:50] (aktuell) – thejonny | ||
---|---|---|---|
Zeile 7: | Zeile 7: | ||
==== Aufgabe 1 - Wissensfragen ==== | ==== Aufgabe 1 - Wissensfragen ==== | ||
- | **a)** falsch: | + | **a)** falsch: |
**b)** Option 2 und 3 sind richtig \\ | **b)** Option 2 und 3 sind richtig \\ | ||
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'' | ||
+ | // | ||
+ | | ||
+ | drag = cur; | ||
+ | cur = drag.next; | ||
+ | } | ||
+ | | ||
+ | | ||
+ | } | ||
+ | </ | ||
==== Aufgabe 4 (Abstrakte Datentypen) ==== | ==== Aufgabe 4 (Abstrakte Datentypen) ==== | ||
Zeile 95: | Zeile 114: | ||
**axs** | **axs** | ||
< | < | ||
+ | // Werte überschreiben | ||
+ | // Axiom set(x, val, create) nicht spezifiziert, | ||
+ | // aufgelöst werden kann, denn set ist ein Konstruktor. | ||
+ | set(x, val1, set(x, val2, aa)) = set(x, val1, aa) | ||
+ | set(x, val1, set(y, val2, aa)) = set(y, val2, set(x, val1, aa)) wenn x != y | ||
+ | // reihenfolge ist egal bei unterschiedlichen x,y, bei gleichem index wird überschrieben. | ||
+ | |||
get(x, | get(x, | ||
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 126: | ||
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), wenn get(x, aa) = null |
+ | size(set(x, e, aa)) = size(aa), sont | ||
</ | </ |