mam zestaw N liczby dodatnie, a prostokąt o wymiarach X i Y że trzeba podzielić na N mniejsze prostokąty takie, że:podziału prostokąta w bliskiej kwadratów danych obszarach
- powierzchnia każdego mniejszego prostokąta jest proporcjonalny do jego odpowiedniej liczby w danym zbiorze
- wszystkim przestrzeń dużego prostokąta jest zajęty i nie ma resztki przestrzeń pomiędzy mniejszych prostokątów
- każdy mały prostokąt powinien mieć kształt kwadratu blisko jak to możliwe
- czas realizacji powinny być rozsądnie małe
muszę kierunki na ten temat. Czy znasz taki algorytm opisany w Internecie? Czy masz jakieś pomysły (pseudo-kod jest w porządku)?
Dzięki.
Przyjrzę się bliżej linkom, które podałeś, ale uważam, że nie jest to hierarchiczna mapa drzewa, chociaż masz rację, że powinna wyglądać jak jedna. Kilka razy zobaczyłem te mapy drzew (na przykład graficzną miarę tego, jak bardzo API zmieniło się z wersji na wersję lub reprezentację użycia dysku na folder/plik). Nie mam hierarchii w moich danych. Na przykład. Przypuśćmy, że chcę wykreślić handel 100 udziałami w rynku w ciągu ostatnich 24 godzin, gdy obszar jest proporcjonalny do wielkości transakcji (a zmiana ceny jest reprezentowana przez kolor). –
Z Bruls et al .: "Po pierwsze, nie rozważamy podziału na wszystkie poziomy jednocześnie, co prowadzi do eksplozji czasu obliczeniowego, zamiast tego staramy się tworzyć kwadratowe prostokąty dla zestawu rodzeństwa, biorąc pod uwagę prostokąta, gdzie muszą się dopasować i stosować tę samą metodę rekursywnie. " Wygląda na to, że powinno ci się to udać. Przykład w sekcji 3.1 powinien już dawać dobre pojęcie o tym, jak to działa; pseudokod znajduje się w sekcji 3.2. – Thomas