Ho una serie di N numeri positivi, e un rettangolo di dimensioni X e Y che ho bisogno di partizionare in N minore rettangoli tali che:partizione un rettangolo in vicino quadrati di determinate aree
- la superficie di ciascun rettangolo più piccolo è proporzionale al suo numero corrispondente nel dato insieme
- tutto lo spazio di grande rettangolo è occupata e non c'è spazio residuo tra rettangoli più piccoli
- ogni piccolo rettangolo dovrebbe essere configurato come vicino al quadrato fattibile
- il tempo di esecuzione deve essere ragionevolmente piccola
devo indicazioni su questo. Conoscete un tale algoritmo descritto sul web? Hai qualche idea (lo pseudo-codice va bene)?
Grazie.
Daremo un'occhiata più da vicino ai collegamenti che hai fornito, ma penso che non sia una mappa gerarchica, anche se hai ragione in quanto dovrebbe sembrare uno. Ho visto queste mappe ad albero diverse volte (ad esempio la misura grafica di quanto un'API è stata modificata dalla versione alla versione o rappresentazione dell'utilizzo del disco per cartella/file). Non ho nessuna gerarchia nei miei dati. Per esempio. supponiamo di voler rappresentare 100 scambi di quote di mercato nelle ultime 24 ore in cui l'area è proporzionale al volume del commercio (e il cambiamento di prezzo è rappresentato dal colore). –
Da Bruls et al .: "Innanzitutto, non consideriamo la suddivisione per tutti i livelli simultaneamente, il che comporta un'esplosione nei tempi di calcolo, ma ci sforziamo di produrre rettangoli quadrati per un insieme di fratelli, dato il rettangolo in cui devono adattarsi e applicare lo stesso metodo in modo ricorsivo. " Quindi sembra che dovrebbe funzionare per te. L'esempio nella sezione 3.1 dovrebbe già darti una buona idea di come funziona; pseudocodice è nella sezione 3.2. – Thomas