Quindi ho un insieme di dati non ordinati con le coordinate float xey come chiavi. I dati sono in un file txt. Sembra così:
x, y, dati;
x2, y2, data2;
etc
Ho bisogno di recuperare tutti i dati in un'area rettangolare specifica più volte con aree diverse ogni volta. Quale sarebbe l'algoritmo più veloce per farlo. (Sto lavorando in C #)
La mia attuale soluzione appare così:
- Crea un dizionario ordinato (dic1) con i valori X tasto y y
- Crea un dizionario ordinato (dic2) con chiave y e valori di dati
- Crea una lista (lista1) e aggiungi tutte le X in dic1 che sono tra max-X e min-X (in base all'area desiderata)
- Crea un altro elenco (elenco2) e per ogni elemento in list1, se l'elemento ha y tra max-Y e min-Y (in base all'area desiderata), quindi aggiungi all'elenco2.
- Elenco2 è il nostro insieme di punti nell'area di destinazione
Qualche cosa più veloce?