Grin logo
de en es fr
Shop
GRIN Website
Publish your texts - enjoy our full service for authors
Go to shop › Computer Science - Theory

Java Tuning - Sortieralgorithmen

Title: Java Tuning - Sortieralgorithmen

Term Paper , 2002 , 53 Pages , Grade: 1.0

Autor:in: Rainer Gibbert (Author)

Computer Science - Theory
Excerpt & Details   Look inside the ebook
Summary Excerpt 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.

Excerpt


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.

Excerpt out of 53 pages  - scroll top

Details

Title
Java Tuning - Sortieralgorithmen
College
University of Applied Sciences Kaiserslautern  (Fachbereich I/MST)
Course
JavaTuning
Grade
1.0
Author
Rainer Gibbert (Author)
Publication Year
2002
Pages
53
Catalog Number
V1255
ISBN (eBook)
9783638107891
ISBN (Book)
9783638637190
Language
German
Tags
Java Tuning Sortieren Quicksort Flashsort Sortier-Framework
Product Safety
GRIN Publishing GmbH
Quote paper
Rainer Gibbert (Author), 2002, Java Tuning - Sortieralgorithmen, Munich, GRIN Verlag, https://www.grin.com/document/1255
Look inside the ebook
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
Excerpt from  53  pages
Grin logo
  • Grin.com
  • Shipping
  • Contact
  • Privacy
  • Terms
  • Imprint