Grin logo
de en es fr
Shop
GRIN Website
Publicación mundial de textos académicos
Go to shop › Informática - Informática teorica

Java Tuning - Sortieralgorithmen

Título: Java Tuning - Sortieralgorithmen

Trabajo Escrito , 2002 , 53 Páginas , Calificación: 1.0

Autor:in: Rainer Gibbert (Autor)

Informática - Informática teorica
Extracto de texto & Detalles   Leer eBook
Resumen Extracto de texto Detalles

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.

Extracto


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.

Final del extracto de 53 páginas  - subir

Detalles

Título
Java Tuning - Sortieralgorithmen
Universidad
University of Applied Sciences Kaiserslautern  (Fachbereich I/MST)
Curso
JavaTuning
Calificación
1.0
Autor
Rainer Gibbert (Autor)
Año de publicación
2002
Páginas
53
No. de catálogo
V1255
ISBN (Ebook)
9783638107891
ISBN (Libro)
9783638637190
Idioma
Alemán
Etiqueta
Java Tuning Sortieren Quicksort Flashsort Sortier-Framework
Seguridad del producto
GRIN Publishing Ltd.
Citar trabajo
Rainer Gibbert (Autor), 2002, Java Tuning - Sortieralgorithmen, Múnich, GRIN Verlag, https://www.grin.com/document/1255
Leer eBook
  • Si ve este mensaje, la imagen no pudo ser cargada y visualizada.
  • Si ve este mensaje, la imagen no pudo ser cargada y visualizada.
  • Si ve este mensaje, la imagen no pudo ser cargada y visualizada.
  • Si ve este mensaje, la imagen no pudo ser cargada y visualizada.
  • Si ve este mensaje, la imagen no pudo ser cargada y visualizada.
  • Si ve este mensaje, la imagen no pudo ser cargada y visualizada.
  • Si ve este mensaje, la imagen no pudo ser cargada y visualizada.
  • Si ve este mensaje, la imagen no pudo ser cargada y visualizada.
  • Si ve este mensaje, la imagen no pudo ser cargada y visualizada.
  • Si ve este mensaje, la imagen no pudo ser cargada y visualizada.
  • Si ve este mensaje, la imagen no pudo ser cargada y visualizada.
  • Si ve este mensaje, la imagen no pudo ser cargada y visualizada.
  • Si ve este mensaje, la imagen no pudo ser cargada y visualizada.
Extracto de  53  Páginas
Grin logo
  • Grin.com
  • Envío
  • Contacto
  • Privacidad
  • Aviso legal
  • Imprint