AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

MergeSort Implementation, optimierungsbedraf?

Ein Thema von Jonas Shinaniganz · begonnen am 5. Mär 2012 · letzter Beitrag vom 11. Mär 2012
 
Iwo Asnet

Registriert seit: 11. Jun 2011
313 Beiträge
 
#2

AW: MergeSort Implementation, optimierungsbedraf?

  Alt 5. Mär 2012, 11:11
Was meinst Du mit 'Optimierungsbedarf'?

Performancetechnisch könnte man die alte Weisheit aufgreifen, das z.B. ein Straight Insertion Sort für kleine Listen schneller ist. Dann würde man dieses Verfahren anwenden, wenn Ende-Start < 20 ist. Wobei "20" ein eher willkürlicher Wert ist, welchen es zu verifizieren gilt. Es könnte auch andere Verfahren geben (außer SIS), die für kleine N besser sind.

Früher waren echt rekursive Implementierungen immer etwas langsamer als ihre (nun ja) iterative Alternative. Diese 'iterative' Implementierung hat aber auch nichts anderes gemacht, als sich den Stack zu merken.

Mittlerweile ist dies aber nicht mehr so.

Von der Lesbarkeit würde ich persönlich die 'begin/end' wegnehmen, wenn sie nur einen Befehl umschließen, also
Delphi-Quellcode:
if something then
begin
  DoIt;
end;
// umwandeln in
if something then
  DoIt;
Weiterhin würde ich refaktorisieren, d.h. das Mergesort in seine logischen Bestandteile aufteilen:
1. Divide
2. Sort parts
3. Recombine (aka Merge)

Das ist zwar 'nur' Kosmetik, aber darum gehts ja letztendlich: Lesbarkeit und Ästhetik.
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:32 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz