Übungen zur Vorlesung Informatik für Informationsmanager II Universität Koblenz-Landau Institut für Informatik Prof. Dr. Steffen Staab Dr. Manfred Jackel SS 2006 Übungsblatt 05 Abzugeben bis12.06.2006, 10.00 Uhr Aufgabe 1 Im Aufgabenblatt 4 aus dem WS 05/06 wurde Darstellung einer ganzen Zahl als Dualzahl berechnet (binaer.java). Zeigen Sie, dass der Aufwand zur Berechnung der relevanten Dualziffern einer ganzen Zahl n den asymptotischen Aufwand O(log(n)) besitzt. „Relevant“ heißt hier: ohne führende Nullen. Aufgabe 2 In einem Feld der Länge 16 seien die ersten 16 Primzahlen von 2 bis 53 aufsteigend sortiert gespeichert. In diesem Feld soll linear und binär gesucht werden. Wir wollen ermitteln, wie viele Vergleiche bei beiden Suchverfahren notwendig sind. Die Algorithmen haben Sie in der Vorlesung kennen gelernt, entsprechenden Code können Sie den Folien entnehmen. a) 4 Werte sollen Sie durch Überlegen herausfinden: wie viele Vergleiche sind notwendig, um die Zahl 2 und die Zahl 50 in dem Feld zu suchen, je einmal linear und je einmal binär? Begründen Sie Ihre Antwort. b) Die Summe der Vergleiche für das Suchen aller Zahlen zwischen 1 und 50 sollen Sie per Simulation ermitteln. Implementieren Sie dazu Methoden, die das lineare und das binäre Suchen simulieren und dabei die Anzahl der Vergleiche zählen. Den Code aus der Vorlesung brauchen Sie dazu nur relativ geringfügig zu ändern und zu ergänzen. In der vorgegebenen Klasse Uebung52.java ist das Feld prim mit den Primzahlen bereits vorgegeben, ebenso die leeren Methoden-Rümpfe getCountLinear und getCountBinary. Diese sollen so ausprogrammiert werden, dass Sie die Anzahl der Aufrufe von compareTo als Ergebnis zurückliefern. Geben Sie die ergänzte, lauffähige Datei uebung52.java ab. Abzugeben bis Mo, 12.6.2006, 10.00h durch Einsendung an [email protected] oder [email protected] .