• Keine Ergebnisse gefunden

5. ¨Ubungsblatt Aufgabe 1

N/A
N/A
Protected

Academic year: 2022

Aktie "5. ¨Ubungsblatt Aufgabe 1"

Copied!
2
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Algorithmen und Datenstrukturen Fachhochschule Wiesbaden

Sommersemester 2007 Prof. Dr. Steffen Reith

5. ¨ Ubungsblatt

Aufgabe 1 (L¨osung wird abgenommen) (Merge Sort) Zur vollst¨andigen Bearbeitung dieser Aufgabe sind die folgenden Punkte zu be- arbeiten:

Entwerfen Sie ein Struktogramm f¨ur Merge Sort.

Entwickeln Sie eine Merge Sort Implementation, die nat¨urliche Zahlen sor- tiert. Ihre Implementation muss mit maximalMAX_ELEMvielen Zahlen umge- hen k¨onnen.

Testen Sie Ihre Implementation mit Pseudozufallszahlen.

In der Vorlesung wurde Merge Sort rekursiv so lange aufgerufen, bis nur noch ein Element zu sortieren war. Modifizieren Sie Ihr Struktogramm und Ihre Implementierung so, dass die Rekursion schon abbricht, wenn nicht mehr als drei Komponenten zu sortieren sind und behandeln Sie diesen Fall entspre- chend.

Aufgabe 2 (L¨osung wird abgenommen) (Laufzeiten) Mitlong curTime = System.currentTimeMillis();kann man die aktuelle Sy- stemzeit bestimmen. Modifizieren Sie Ihre Implementation von Merge Sort so, dass Sie messen k¨onnen, wieviel Zeit der reine Sortiervorgang ben¨otigt (also ohne Erzeugung der Zufallszahlen und Ausgabe!).

1. Erstellen Sie eine Tabelle, die die Sortierzeiten f¨ur 10000, 20000, 40000, 80000 und 100000 Pseudozufallszahlen enth¨alt.

2. Modifizieren Sie Ihren Selection Sort aus der letzten ¨Ubungsaufgabe so, dass Sie messen k¨onnen wieviel Zeit der reine Sortiervorgang ben¨otigt. Erstel- len Sie eine Tabelle, die die Sortierzeiten f¨ur 10000, 20000, 40000, 80000 und 100000 Pseudozufallszahlen enth¨alt. Welche Rechenzeit erwarten Sie f¨ur 200000, 400000 und 800000 Zufallszahlen?

Die Abnahme erfolgt in der KW19 von 7.5.2007 - 11.5.2007

(2)

Ubungsaufgaben zur O-Notation ¨

Es seien die folgenden Funktionen definiert:

f = 5 + 3·n g = 4·82+ 7·n h = 210·log4(n) k = n2+13n·n24+2·n

F¨ullen Sie die leeren K¨astchen mit dem korrekten Symbol aus der Menge {=,6=,∈,6∈,⊆,6⊆}

n2 O(f) f·g·h·k O(2n)

g·g O(k) O(O(h3)) O(h)

O(g) O(3·h) O(f·g) O(n2) O(O(f ·f)) O(n2)

O(3·k·h) O(f·g) O(3·k−k) O(n2)

h O(h3)

2

Referenzen

ÄHNLICHE DOKUMENTE

In dieser Aufgabe soll die Verwendung der Bibliotheksfunktionen srand(), rand(), qsort() und bsearch der Bibliothek <stdlib.h> geübt werden. Legt im Hauptprogramm ein

[r]

KOALA ist eine internet-basierte Anwendung um AWS-kompatible Cloud Com- puting Infrastrukturen (IaaS) zu steuern. KOALA unterst¨utzt die Arbeit mit den Cloud-Diensten EC2, S3, EBS

Aufgabe 1: Schreiben Sie eine Prozedur, die eine dem Fasenmyer-Algorithmus sehr ¨ ahnliche Vorgehensweise verwendet, aber anstelle einer Rekursionsgleichung eine

linear transformierte klassische OPS darstellen.. Falls ja, geben Sie auch die klassischen

• ” none“, falls es keinen Gewinner gibt, d.h es gibt noch keine Linie von drei Marken (z.B. siehe unten linkes K¨ astchen), oder es gibt mehr als eine Linie von drei Marken (von

(c) Angenommen, Sie als Spieler A d¨ urfen anfangen und Ihr Gegen¨ uber, Spieler B, nimmt immer in der Folge 1, 2, 3, 1, 2, 3 usw. H¨ olzchen weg. Wenden Sie Ihren Algorithmus mit n

• addAll(LinkedList otherList): f¨ ugt alle Elemente der ¨ ubergebenen Liste (otherList) zu der aktuellen Liste hinzu (kann (mit Vorsicht angewandt) zur Implementierung von