Delphi-PRAXiS
Seite 4 von 4   « Erste     234   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Wie logisch richtig sortieren: 1,2,3,21 (nicht 1,2,21,3)? (https://www.delphipraxis.net/59123-wie-logisch-richtig-sortieren-1-2-3-21-nicht-1-2-21-3-a.html)

glkgereon 28. Dez 2005 15:18

Re: Wie logisch richtig sortieren: 1,2,3,21 (nicht 1,2,21,3)
 
Zitat:

Zitat von alzaimar
Zitat:

Zitat von glkgereon
mein Algo kann Ganze Zahlen in linearer Zeit sortieren.

Klappt nicht.
Delphi-Quellcode:
Type
  TIntegerArray = Array Of Integer;

Var
  A : TIntegerArray;

Begin
  SetLength (A,2);
  A[0] := 0; A[1] :=maxint;
  Sort (A); // <- peng
End;
Zitat:

Zitat von glkgereon
Mit anderen Typen als ganzen Zahlen... Theoretisch ist es möglich.

Praktisch wohl kaum.

Du machst, wie ich bereits sagte, starke Einschränkungen bezüglich des Schlüssels. Die Schlüssel sind abhängig vom vorhandenen Speicher, was nun wirklich nicht praktikabel ist. Die Laufzeit ist abhängig von der Verteilung der Schlüssel sowie von den Schlüsseln selbst.

Wenn Du schon (annähernd) linear sortieren willst, dann wenigstens mit einem praktikablen Verfahren, als dem hier. Z.B. Bucketsort. Das geht aber auch nur mit Schlüsseln, die einigermaßen gleichmäßig verteilt sind.

Im Übrigen ist Quicksort bei Arrays bis 2,5Mio Elementen immer noch wesentlich schneller.

wie ich bereits sagte^^

aber es geht ja ums prinzip :-P

BTW behaupte ich, das man die Einschränkungen bezügklich des Schlüssels aufheben kann...aber nicht vor Sylvester^^

alzaimar 28. Dez 2005 17:07

Re: Wie logisch richtig sortieren: 1,2,3,21 (nicht 1,2,21,3)
 
Zitat:

Zitat von glkgereon
BTW behaupte ich, das man die Einschränkungen bezügklich des Schlüssels aufheben kann...aber nicht vor Sylvester^^

Hinterher auch nicht. :mrgreen:
Du wirst es nicht schaffen, ein Array mit beliebigem Schlüssel mit einem Aufwand von weniger als O(n log n) zu sortieren. Aber ich lass mich gerne überraschen.

glkgereon 28. Dez 2005 22:54

Re: Wie logisch richtig sortieren: 1,2,3,21 (nicht 1,2,21,3)
 
Zitat:

Zitat von alzaimar
Zitat:

Zitat von glkgereon
BTW behaupte ich, das man die Einschränkungen bezügklich des Schlüssels aufheben kann...aber nicht vor Sylvester^^

Hinterher auch nicht. :mrgreen:
Du wirst es nicht schaffen, ein Array mit beliebigem Schlüssel mit einem Aufwand von weniger als O(n log n) zu sortieren. Aber ich lass mich gerne überraschen.

Die idee ist einfach...ich werde versuchen, jeden beliebigen schlüsseltypen in einen Integer umzuformen...ob das klappt, keine Ahnung^^


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:19 Uhr.
Seite 4 von 4   « Erste     234   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz