![]() |
Re: Gibt es ein Schnelleres verfahren als Min?
@Leddl
Nach meiner Theorie müsste man es vielleicht mit Quicksort schneller gehen, aber meinen Wissen was so was angeht ist noch sehr gering! Ich habe da zwar schon Sdie Sortiertverfahren endecht, aber diese Sortierten immer nur ganze Arrays. Und ich benötige ja nur den kleinsten Wert aus 3 Variablen. |
Re: Gibt es ein Schnelleres verfahren als Min?
In MinIntValue wird jedes Arrayelement einmal mit Result verglichen. Wie soll das denn (abgesehen von Assembler-Verbesserungen o.Ä.) schneller gehen?
|
Re: Gibt es ein Schnelleres verfahren als Min?
@Khabarakh. Vieleicht hab ich mich verlesen, hab jetzt leider das eine Büchlein schon zurück zur Bibo geschafft!
Ich Dem was ich jetzt da hab, hab ich nichts gefunbden! @ Sharky wie meinst Du das mit der Hilfsvariablen? |
Re: Gibt es ein Schnelleres verfahren als Min?
Zitat:
Optimiere deinen Alg lieber auf andere Weise(Sharky hat dazu ja schon was gepostet). mfg Christian |
Re: Gibt es ein Schnelleres verfahren als Min?
Zitat:
Delphi-Quellcode:
besser:
for i:=0 to 999 do
begin DoSomething(StrToInt(x)); end;
Delphi-Quellcode:
So sparst du dir 1000 aufrufe von StrToInt und diese Funktion is nicht ohne!
y :=StrToInt(x); // y is die Hilfsvariable
for i:=0 to 999 do begin DoSomething(y); end; mfg Christian |
Re: Gibt es ein Schnelleres verfahren als Min?
@Hallo_Thomas: Angenommen, der Inhalt des Arrays ist vor der Minimum-Bestimmung jedes Mal unsortiert.
MinArrayValue vergleicht nun jedes Element genau einmal. Wie soll es denn einen schnelleren Algorithmus geben, wenn er ja wohl jedes Element mindestens einmal vergleichen muss? |
Re: Gibt es ein Schnelleres verfahren als Min?
@Khabarakh
Ganz so wissend bin ich hier auch nicht, aber deswegen poste ich ja! ahha, Ich schaus mir glei mal an!Danke! |
Re: Gibt es ein Schnelleres verfahren als Min?
MinArrayValue ist auch deshalb besser, weil ein Funktionsaufruf gespart wird. Statt Min 2x aufzurufen verwendet MinArrayValue (hoffentlich) eine Iterative Methode(ansonsten is MinArrayValue IMHO schlecht programmiert).
mfg Christian |
Re: Gibt es ein Schnelleres verfahren als Min?
Das sollte sich aber per inline; aber wieder relativieren, oder?
|
Re: Gibt es ein Schnelleres verfahren als Min?
@Khabarakh: Gibts inline schon bei Versionen kleiner Delphi 2005? (also jetzt mal abgesehen von asm)? Wenn ja - wie nutzt man das? Wenn Nein - dann hat sich die Frage erübrigt weil ich dann weiß das ich nicht zu dumm war es zu verwenden...
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:35 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