Einzelnen Beitrag anzeigen

choose

Registriert seit: 2. Nov 2003
Ort: Bei Kiel, SH
729 Beiträge
 
Delphi 2006 Architect
 
#4

Re: Grösster Wert in einem Array

  Alt 6. Nov 2003, 16:30
Wenn Du den generellen Algorithmus, also die Aufgabe, das größte Element in einer sequenziellen geordneten (ich meine nicht sortiert!) Struktur zu finden, meinst, ist die Komplexität O(n)=n. Hier kannst Du nichts verbessern.

Falls Du performateren Code beim Durchsuchen Deines Arrays mit bisher 5 Einträgen haben möchtest, gibt es ein paar Punkte, an denen Du ansetzen könntest.
  1. Du überschreibst den Rückgabewert der Funktion in jeder Iteration. Weise das Zwischenergnis einfach nur lastMax zu und kopiere nach der Schliefe den Werte von lastMax nach GetMaxArrayValue.
  2. Du liest das erste Element doppelt aus und vergleichst es mit sich selbst
  3. Die Funktionsaufrufe von max sind "teuer", obwohl sie sehr zur guten Struktur beitragen. Wenn es wirklich wichtig ist, mache nur einen Vergleich und überschreibe das bisherige Maximum nur, wenn er positiv ausfällt.
  4. Lass Dein Array nicht mit einem Index ungleich null beginnen.
Ich habe die Punkte nach Relevanz hinsichtlich Performancesteigerung sortiert.

EDIT: Hi Sakura, das ist ja fast genau das Code-Beispiel dazu!
gruß, choose
  Mit Zitat antworten Zitat