Devo rappresentare dei rettangoli nello spazio infinito bidimensionale.
Questi quadrati sono determinati da due punti A(a, b) e B(c, d), dove A è l'estremo sinistro basso del rettagolo e B è l'estremo destro alto.
Mi servirà poi trovare il rettangolo più vicino in alto, in basso e a sinistra e destra, ad un punto dato C(e, f).
Una lista di elementi con dentro le coordinate dei punti A e B è la struttura ovviamente più semplice da realizzare, ma la ricerca del rettangolo più vicino implica ogni volta leggere tutta la lista...
Avevo anche pensato ad un albero binario, ordinato su "a", se uguali su "b", se uguali su "c" e infine ancora se uguali su "d", ma così facendo ho facilità a fare la ricerca del rettangolo più vicino a destra ma lo stesso per le ricerche a sinistra, alto e basso devo scorrere tutto l'albero...
Avevo a questo punto pensato a 4 alberi costruiti sugli stessi elementi, ovvero ogni elemento ha il puntatore sinistro e destro per l'albero ordinato secondo la "a", secondo la "b", secondo la "c" e secondo la "d", ma così facendo la cancellazione del rettangolo è un casino assurdo!!!!
idee di implementazione??