Grin logo
de en es fr
Shop
GRIN Website
Texte veröffentlichen, Rundum-Service genießen
Zur Shop-Startseite › Informatik - Theoretische Informatik

Java Tuning - Sortieralgorithmen

Titel: Java Tuning - Sortieralgorithmen

Hausarbeit , 2002 , 53 Seiten , Note: 1.0

Autor:in: Rainer Gibbert (Autor:in)

Informatik - Theoretische Informatik
Leseprobe & Details   Blick ins Buch
Zusammenfassung Leseprobe Details

Sortier-Algorithmen gehören neben den Such-Algorithmen zu den meist benutzten Funktionen in der Informatik.

So werden z.B. in jeder Datenbank-Anwendung Sortier-Algorithmen eingesetzt, welche dort die Leistungsfähigkeit der Anwendung stark bedingen. Gerade deshalb besteht ein erhöhter Bedarf daran, diese Algorithmen so leistungsfähig und schnell wie möglich zu machen, um somit die Performance der benutzenden Anwendungen zu steigern.

Hierzu gibt es viele Möglichkeiten, von der einfachen Vermeidung von überflüssigem Aufwand bei Typumwandlungen, über die Erstellung eines Sortier-Frameworks, welches automatisch bestimmte Optimierungen vornimmt, bis zur Implementierung spezialisierter Algorithmen, welche zusätzliche Informationen aus den zu sortierenden Objekten benutzen.

Auf diese Möglichkeiten soll im Folgenden detaillierter eingegangen werden. Sie alle stammen aus dem Buch ,,Java Performance Tuning", Kapitel 9 von Jack Shirazi und werden im Verlauf dieser Arbeit implementiert und getestet.

Leseprobe


Inhaltsverzeichnis

1. Einleitung

2. Unnötigen Sortieraufwand vermeiden

3. Ein effizienten Sortier-Framework

4. Schneller Sortieren als O(nlogn)

5. Performance-Checkliste

6. Performance-Test

Zielsetzung & Themen

Die vorliegende Arbeit zielt darauf ab, die Leistungsfähigkeit von Sortier-Algorithmen im Java-Kontext zu untersuchen und durch gezielte Tuning-Maßnahmen zu optimieren, um die Performance datenintensiver Anwendungen signifikant zu steigern.

  • Analyse von Performance-Engpässen bei Standard-Sortierverfahren
  • Entwicklung eines flexiblen und effizienten Sortier-Frameworks
  • Optimierung der Algorithmen durch Vermeidung von Typumwandlungen und direkten Zugriff auf Datenstrukturen
  • Implementierung und Leistungsvergleich spezialisierter Algorithmen wie Flashsort

Auszug aus dem Buch

Flashsort:

Ein Algorithmus, der all diese Vorgehensweisen ausnutzt und implementiert, ist der Flashsort-Algorithmus

class FlashSort2

von Karl-Friedrich Neubert.

Dieser Algorithmus bietet ein Sortier-Verhalten von O(n) und minimiert nebenbei den zusätzlichen Speicheraufwand, der zum Sortieren benötigt wird.

Flashsort besteht aus drei logischen Blöcken: Klassifizierung, Permutation und direktes Einfügen.

Zuerst werden die einzelnen zu sortierende Elemente klassifiziert und in verschiedene Gruppen eingeteilt. Im Anschluss daran findet eine Vertauschung und Neuordnung der gefundenen Klassen statt.

Nach den ersten beiden Schritten befinden sich die Elemente annähernd in der richtigen Position. Man erhält also nach der Permutation ein teilweise vorsortiertes Array, mit dem dann weitergearbeitet werden kann. Im letzten Schritt wird ein Straight-Insertion-Sort (direktes Einfügen) verwendet, mit dem dann die finale Ordnung erreicht wird.

Auf eine genauere Beschreibung wird an dieser Stelle verzichtet, im Anhang befinden sich jedoch die Schriftstücke von Karl-Friedrich Neubert von der euroFORTH'97 – Konferenz sowie eine Beschreibung des Algorithmus aus der Zeitschrift Dr. Dobb's Journal vom Februar 1998.

Zusammenfassung der Kapitel

1. Einleitung: Dieses Kapitel motiviert die Notwendigkeit effizienter Sortier-Algorithmen in der Informatik und führt in die Ziele der Arbeit ein.

2. Unnötigen Sortieraufwand vermeiden: Es werden Methoden zur Leistungssteigerung durch die Optimierung von Vergleichs-Methoden und die direkte Implementierung von Sortier-Algorithmen in die zu sortierenden Klassen erläutert.

3. Ein effizienten Sortier-Framework: Dieses Kapitel befasst sich mit dem Aufbau eines modularen Frameworks, das den Austausch von Sortier-Algorithmen und Optimierungs-Techniken ermöglicht.

4. Schneller Sortieren als O(nlogn): Hier wird untersucht, wie durch zusätzliche Informationen über die Datenmenge Algorithmen mit linearer Laufzeit, wie der Flashsort, implementiert werden können.

5. Performance-Checkliste: Zusammenfassung aller erarbeiteten Tuning-Methoden als Checkliste zur Identifikation und Behebung von Flaschenhälsen bei Sortierprozessen.

6. Performance-Test: Dieses Kapitel präsentiert die Ergebnisse der praktischen Implementierungen im Vergleich zu Standard-Methoden mittels einer Testreihe.

Schlüsselwörter

Java, Sortier-Algorithmen, Performance, Tuning, Quicksort, Flashsort, O-Notation, Datenstrukturen, Typumwandlung, Framework, Laufzeitoptimierung, Vergleichs-Methoden, Speicheraufwand, Sortier-Stabilität, Java Performance Tuning

Häufig gestellte Fragen

Worum geht es in der Arbeit grundsätzlich?

Die Arbeit beschäftigt sich mit der Optimierung der Performance von Sortier-Algorithmen in der Programmiersprache Java.

Was sind die zentralen Themenfelder?

Zentrale Themen sind die Vermeidung unnötiger Rechenaufwände, der Aufbau effizienter Sortier-Frameworks und der Einsatz spezialisierter Sortier-Verfahren.

Was ist das primäre Ziel der Arbeit?

Das Ziel ist es, Sortier-Algorithmen so leistungsfähig und schnell wie möglich zu gestalten, um die Gesamtperformance von Anwendungen zu erhöhen.

Welche wissenschaftliche Methode wird verwendet?

Es werden theoretische Analysen zur Algorithmen-Effizienz durchgeführt sowie eine praktische Implementierung und ein Performance-Test in einer definierten Testumgebung umgesetzt.

Was wird im Hauptteil behandelt?

Im Hauptteil werden Techniken zur Vermeidung von Typumwandlungen, das Design eines flexiblen Sortier-Frameworks und die Implementierung des linearen Flashsort-Algorithmus behandelt.

Welche Schlüsselwörter charakterisieren die Arbeit?

Die wichtigsten Begriffe sind Java, Sortier-Algorithmen, Performance-Tuning, Quicksort und Flashsort.

Wie unterscheidet sich Flashsort von Standard-Algorithmen wie Quicksort?

Flashsort nutzt die Verteilung der zu sortierenden Daten, um eine lineare Zeitkomplexität O(n) zu erreichen, während Standard-Verfahren wie Quicksort im Durchschnitt O(nlogn) benötigen.

Welche Rolle spielen ComparisonKeys in dem entwickelten Framework?

ComparisonKeys dienen dazu, Berechnungen, die für Vergleichsmethoden notwendig sind, zwischenzuspeichern und so wiederholte Rechenoperationen bei jedem Objekt-Vergleich zu vermeiden.

Ende der Leseprobe aus 53 Seiten  - nach oben

Details

Titel
Java Tuning - Sortieralgorithmen
Hochschule
Fachhochschule Kaiserslautern  (Fachbereich I/MST)
Veranstaltung
JavaTuning
Note
1.0
Autor
Rainer Gibbert (Autor:in)
Erscheinungsjahr
2002
Seiten
53
Katalognummer
V1255
ISBN (eBook)
9783638107891
ISBN (Buch)
9783638637190
Sprache
Deutsch
Schlagworte
Java Tuning Sortieren Quicksort Flashsort Sortier-Framework
Produktsicherheit
GRIN Publishing GmbH
Arbeit zitieren
Rainer Gibbert (Autor:in), 2002, Java Tuning - Sortieralgorithmen, München, GRIN Verlag, https://www.grin.com/document/1255
Blick ins Buch
  • Wenn Sie diese Meldung sehen, konnt das Bild nicht geladen und dargestellt werden.
  • Wenn Sie diese Meldung sehen, konnt das Bild nicht geladen und dargestellt werden.
  • Wenn Sie diese Meldung sehen, konnt das Bild nicht geladen und dargestellt werden.
  • Wenn Sie diese Meldung sehen, konnt das Bild nicht geladen und dargestellt werden.
  • Wenn Sie diese Meldung sehen, konnt das Bild nicht geladen und dargestellt werden.
  • Wenn Sie diese Meldung sehen, konnt das Bild nicht geladen und dargestellt werden.
  • Wenn Sie diese Meldung sehen, konnt das Bild nicht geladen und dargestellt werden.
  • Wenn Sie diese Meldung sehen, konnt das Bild nicht geladen und dargestellt werden.
  • Wenn Sie diese Meldung sehen, konnt das Bild nicht geladen und dargestellt werden.
  • Wenn Sie diese Meldung sehen, konnt das Bild nicht geladen und dargestellt werden.
  • Wenn Sie diese Meldung sehen, konnt das Bild nicht geladen und dargestellt werden.
  • Wenn Sie diese Meldung sehen, konnt das Bild nicht geladen und dargestellt werden.
  • Wenn Sie diese Meldung sehen, konnt das Bild nicht geladen und dargestellt werden.
Leseprobe aus  53  Seiten
Grin logo
  • Grin.com
  • Versand
  • Kontakt
  • Datenschutz
  • AGB
  • Impressum