   
Nicole
| | Veröffentlicht am Dienstag, den 28. Mai, 2002 - 18:38: | |
Hallo, ich habe ein Problem bei einer Programmieraufgabe, vielleicht kann mir ja einer helfen. Die Aufgabe sieht so aus: 1. Aufgabe Implementieren Sie in Haskell eine Funktion delMax, die in Zeit O(n) das Maximum aus einer Liste entfernt. a) Sie können davon ausgehen, daß die Liste keine doppelten Elemente enthält. Sollte ds Maximum also mehrfach vorkommen, so braucht es nur einmal entfernt werden. Begründen Sie den Zeitaufwand Ihres Verfahrens. b) Ändern Sie Ihren Algorithmus aus dem vorigen Aufgabenteil so ab, daß alle Vorkommen des Maximums entfernt werden. Begründen Sie, ob Sie auch in diesem Fall eine lineare Laufzeit erreichen können. 2. Aufgabe Programmieren Sie in Haskell eine Funktion, die das fünftgrößte Element einer Liste von Zahlen berechnet, wobei die Eingabeliste nicht notwendigerweise sortiert vorliegt. Versuchen Sie, eine möglichst gute Zeitkomplexität zu erreichen und begründen Sie diese. Welche Entwurfsmethode haben Sie angewandt? Hinweis: Die Funktion delMax kann hier sinnvoll eingesetzt werden. |