AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Überprüfen, ob Zahl in unregelmäßigen Bereichen
Thema durchsuchen
Ansicht
Themen-Optionen

Überprüfen, ob Zahl in unregelmäßigen Bereichen

Ein Thema von xZise · begonnen am 4. Sep 2006 · letzter Beitrag vom 5. Sep 2006
Antwort Antwort
Seite 2 von 2     12   
bigg
(Gast)

n/a Beiträge
 
#11

Re: Überprüfen, ob Zahl in unregelmäßigen Bereichen

  Alt 4. Sep 2006, 18:37
huch,

ich glaube ich habe dein Problem nun verstanden. Wobei sich dann eine Liste mit Zeigern verknüpft mit einer Liste mit Integern besser machen würde, imho. Die Liste wird anschließend sortiert und auf Konsistenz geprüft.
  Mit Zitat antworten Zitat
Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#12

Re: Überprüfen, ob Zahl in unregelmäßigen Bereichen

  Alt 4. Sep 2006, 18:42
Zitat von bigg:
Wobei sich dann eine Liste mit Zeigern verknüpft mit einer Liste mit Integern besser machen würde, imho. Die Liste wird anschließend sortiert und auf Konsistenz geprüft.
Ähn ja... Ich versteh fast nix
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat
Benutzerbild von negaH
negaH

Registriert seit: 25. Jun 2003
Ort: Thüringen
2.950 Beiträge
 
#13

Re: Überprüfen, ob Zahl in unregelmäßigen Bereichen

  Alt 5. Sep 2006, 13:30
Ist auch nicht so wichtig da es besseres gibt.

1. Frage: welche Zahlen kommen vor und wie viele Bereiche gibt es ? Ich frage weil wenn das Set der Zahlen klein ist, zb. eben 1 bis 9 dann ist mein Vorschlag der effizienteste. Es ist eine einfach und direkte Lookup Tabelle und hat Komplexität O(1) !!

2. falls der Zahlenbereich zu groß ist so wird auch die Lockup Tabelle enorm groß und unpraktikabel. In diesem Moment benutzt du einen sortierten binären Baum deiner Bereiche. Bei der Suche in welchem Bereich deine Zahl nun liegt gehst du defakto per binärer Suche vor. Alle bisherigen Vorschläge gehen iterativ und sequientiell durch deine Bereichsliste durch. Dies ist bei vielen Bereichen wesentlich ineffizienter als eine binäre Suche, sei es als Binärer Baum (Trie) oder eine sortierte Liste die per binärer Suche durchsucht wird.

Gruß Hagen
  Mit Zitat antworten Zitat
Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#14

Re: Überprüfen, ob Zahl in unregelmäßigen Bereichen

  Alt 5. Sep 2006, 15:49
Also die Zahl kann so groß wie ein Int sein und die Berieche zwischen 1 und 10.
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat
Benutzerbild von negaH
negaH

Registriert seit: 25. Jun 2003
Ort: Thüringen
2.950 Beiträge
 
#15

Re: Überprüfen, ob Zahl in unregelmäßigen Bereichen

  Alt 5. Sep 2006, 15:59
bei max. 10 Bereichen lohnt keine aufwendige binäre Suche/Baum.

Delphi-Quellcode:
var
  Bereich: array[0..10] of Integer = (10,100,1000,234567,87654321, MaxInt, 0, 0, 0); // MaxInt als End-Marker
begin
  BereichIndex := Low(Bereich);
  while Zahl > Bereich[BereichIndex] do
    Inc(BereichIndex);
end;
Gruß Hagen
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 05:02 Uhr.
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