• Keine Ergebnisse gefunden

2D-Suchbaum

N/A
N/A
Protected

Academic year: 2022

Aktie "2D-Suchbaum "

Copied!
1
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Übungen zu Praktische Informatik: Datenstrukturen SS 2005 Übung 3

Name: Tutor:

Matrikelnummer: Punkte:

Gruppe: Abgabe: Di, 3.5.2005

3 / 5

2 / 6

1 / 3 3 / 2

6 / 7

7 / 3 1 / 9

4 / 4

4 / 8

9 / 3 5 / 8 1 / 8

X

Y

X

Y

2D-Suchbaum

Bei einer Firma die ein CAD-Programm entwickelt, haben sich einige Kunden beschwert, dass das CAD-Programm bei komplexeren Zeichnungen zu langsam arbeitet. Eine Analyse des Programms hat Mängel bei der Verwaltung von Punkten (x, y) in der Zeichnung ergeben.

Ihre Aufgabe ist es nun die verwendete Datenstruktur für einige kritische Operationen zu optimieren. Eine Möglichkeit wäre es einen zweidimensionalen Suchbaum zu verwenden.

public class Tree2D extends PointList2D { public Tree2D() { … }

// Einfügen/Löschen/Finden eines Punktes

public void insert(Point2D.Double point) { … } public boolean remove(Point2D.Double point) { … } public boolean contains(Point2D.Double point) { … }

// Listet alle Punkte auf, die sich im angegebenen Bereich befinden public ArrayList findInRangeX(double xFrom, double xTo) { … }

public ArrayList findInRangeY(double yFrom, double yTo) { … } // Listet alle Punkte auf, die sich in diesem Rechteck befinden public ArrayList findInRectangle(Rectangle2D.Double rect) { … } // Sucht den am nächsten stehenden Punkt (sqrt(dx²+dy²) = Minimum) public Point2D.Double findNearest(Point2D.Double point) { … } // Ausgabe aller Punkte (zum Testen)

public void printAll() { … } }

Die Klassen Point2D.Double und Rectangle2D.Double finden Sie im Package java.awt.geom, die Klasse ArrayList in java.util.

Ein 2D-Suchbaum ist im Prinzip ein ganz normaler binärer Suchbaum, nur dass abhängig von der Tiefe des jeweiligen Knotens einmal in x-Richtung und einmal in y-Richtung sortiert wird.

Beispiel:

Mit der Klasse SimplePointList2D können anschließend Performancevergleiche durchgeführt werden. Vergessen Sie nicht Ihre Ergebnisse der Performancevergleiche mit abzugeben.

Referenzen

ÄHNLICHE DOKUMENTE

8 1 Abbildung 4: Suchbaum für das Erbteilungsproblem mit Wiederholungen Eine Lösung des Erbteilungsproblems entspricht nicht wie beim Layrinth- oder Damenproblem einem Pfad von

deutlich, daß die Tinte den Grandstrich nicht. /T^w-OQ——.(^^ -voll füllte, sondem nur rechts und

Die in der Vorlesung behandelte Darstellung f¨ ur polarisiertes Licht in reeller Schreibweise l¨asst sich verallgemei- nern, indem man die Gleichungen f¨ur linear polarisierte (lp)

L ¨ osung Klausur vom 12.2.2003 Die Literaturangaben stammen von Herr Rupp... 1.)a) Teilchen befinde sich im

Zur Charakterisierung der Bewegung eines Körpers benötigt man auch die Information über die Richtung der Bewegung... Richtung

Der auf der Scheibe sitzende Daumen d ist mittelst einer Kette %, mit der Anspannvorrichtung verbunden, während von der unter dem Wagen durchgehenden Leitung Z das eine Kettenstück

Überlegen Sie (schriftlich!) die Gründe für die jeweiligen Änderungen der Effizienz der einzelnen Methoden. Wodurch ergeben sich die Unterschiede?.. c) Implementieren Sie

Verwenden Sie für die Implementierung dieser Methoden den IntIterator den jedes Set zur Verfügung stellt (die Implementierung ist vorgegeben, IntIterator iterator(); Details