Hallo Leute,
ich habe gerade ein kleines Problem. Für ein C# Programm bin ich gerade dabei, eine Datenbank zu entwickeln. Die Datenbank soll die Daten, die ich ihr übergebe, speichern und das heraussuchen von Informationen aus der Datenbank beschleunigen. Soweit zum Background.
Und nun zum eigentlichen (momentanen) Problem. Die Suchabfragen an die Datenbank werden in der Form sein, dass ich alle Objekte suche, deren x (Float)Wert zwischen zwei weiteren Floats liegt. Wie mache ich das? Da kann ich keinen Index anlegen oder ähnliches. Derzeit gehe ich alle Objekte durch und untersuche diese. Habe somit einen Aufwand von O
. Wünschenswert wäre aber ein Aufwand von O(1).
Eine Idee, die ich hatte, war das ganze mit einer randomisierten Skip Liste zu implementieren. Da hätte ich einen Aufwand von O(log n). Aber vll. habt Ihr noch andre Ideen.
ich habe gerade ein kleines Problem. Für ein C# Programm bin ich gerade dabei, eine Datenbank zu entwickeln. Die Datenbank soll die Daten, die ich ihr übergebe, speichern und das heraussuchen von Informationen aus der Datenbank beschleunigen. Soweit zum Background.
Und nun zum eigentlichen (momentanen) Problem. Die Suchabfragen an die Datenbank werden in der Form sein, dass ich alle Objekte suche, deren x (Float)Wert zwischen zwei weiteren Floats liegt. Wie mache ich das? Da kann ich keinen Index anlegen oder ähnliches. Derzeit gehe ich alle Objekte durch und untersuche diese. Habe somit einen Aufwand von O

Eine Idee, die ich hatte, war das ganze mit einer randomisierten Skip Liste zu implementieren. Da hätte ich einen Aufwand von O(log n). Aber vll. habt Ihr noch andre Ideen.