![]() |
Re: aus einem Array die kleinste Zahl herausfinden
danke
ich habs mit ner schleife gelöst :-D |
Re: aus einem Array die kleinste Zahl herausfinden
zum Thema sortuert = schneller
wenn das Array vorher schon sortiert ist, dann isses natürlich schneller :angel2: |
Re: aus einem Array die kleinste Zahl herausfinden
Zitat:
|
Re: aus einem Array die kleinste Zahl herausfinden
Zitat:
Aber genug der Theorie. Gesetz dem äußerst unwahrscheinlichen Fall, dass man tatsächlich nur ein allereinziges Mal das Minimum haben will, ist lineare Suche wirklich das Beste :stupid: |
Re: aus einem Array die kleinste Zahl herausfinden
Zitat:
Zitat:
Nun zur Theorie: Wenn ich eine listenartige Datenstruktur inklusive Kenntnis des kleinsten/größten Elements benötige, werde ich meine Basisstruktur u.a. danach aussuchen, ob ich die Elemente sortiert benötige. Wenn nicht, und Löschoperationen selten sind, dürfte eine unsortierte Liste eine gute Wahl darstellen. Ansonsten empfehle ich eine Skiplist, die hier im Gegensatz zu einer sortierten Liste stets optimale Ergebnisse liefert. So sind so gut wie alle Operationen näherungsweise O(1), wohingegen eine sortierte Liste beim Einfügen und Löschen einen Aufwand O(n) und beim Suchen O(log n) aufweist. Nicht besonders, wenn Du mich fragst. |
Re: aus einem Array die kleinste Zahl herausfinden
Zitat:
|
Re: aus einem Array die kleinste Zahl herausfinden
Zitat:
|
Re: aus einem Array die kleinste Zahl herausfinden
Und wenn sich die Werte im Array ändern?
Dann gibt es für's Hinzufügen 2 Wege - entweder sortiert hinzufügen - oder beim Hinzufügen direkt mit den zwischengespeicherten Min- und Max-Werten vergleichen und diese so aktuell halten |
Re: aus einem Array die kleinste Zahl herausfinden
Ergänzung zu Post 8:
Hier eine bessere Testvarinte:
Delphi-Quellcode:
Gruß
procedure TForm1.Button1Click(Sender: TObject);
var zahl : array[1..1000] of integer; i,min,merker:integer; begin randomize; for i:= 1 to 1000 do begin zahl[i]:=random(10000)+1; end; min:=1000; for i:= 1 to 1000 do begin if zahl[i] < min then begin min:=zahl[i]; merker:=i; end; end; edit1.Text:=IntToStr(min); edit2.Text:=IntToStr(merker); end; Wolfgang |
Re: aus einem Array die kleinste Zahl herausfinden
Zitat:
Delphi-Quellcode:
KleinsterWert := Math.MinIntValue(zahlArray);
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:28 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