Tôi có một bộ N số dương, và một hình chữ nhật có kích thước X và Y mà tôi cần phải phân vùng vào N nhỏ hình chữ nhật như vậy:phân vùng một hình chữ nhật thành gần như vuông của khu vực cho
- diện tích bề mặt của mỗi hình chữ nhật nhỏ hơn tỷ lệ với số tương ứng của nó trong cho thiết
- tất cả các không gian của hình chữ nhật lớn là chiếm đóng và không có không gian còn sót lại giữa hình chữ nhật nhỏ hơn
- mỗi hình chữ nhật nhỏ nên được định hình càng gần vuông như khả thi
- thời gian thực hiện nên được hợp lý nhỏ
tôi cần hướng dẫn về vấn đề này. Bạn có biết thuật toán như vậy được mô tả trên web không? Bạn có bất kỳ ý tưởng (giả mã là tốt)?
Cảm ơn.
Tôi sẽ xem xét kỹ hơn các liên kết bạn đã cung cấp nhưng tôi nghĩ rằng đó không phải là bản đồ cây phân cấp, mặc dù bạn ở ngay trong đó nó sẽ giống như một. Tôi đã thấy các bản đồ cây này nhiều lần (ví dụ: đo lường đồ họa về số lượng API đã thay đổi từ phiên bản thành phiên bản hoặc cách trình bày mức sử dụng đĩa cho mỗi thư mục/tệp). Tôi không có phân cấp trong dữ liệu của mình. Ví dụ. giả sử tôi muốn lập biểu đồ giao dịch 100 cổ phiếu thị trường trong 24 giờ qua, nơi tỷ lệ thuận với khối lượng giao dịch (và thay đổi giá được biểu thị bằng màu sắc). –
Từ Bruls và cộng sự: "Đầu tiên, chúng tôi không xem xét việc phân chia cho tất cả các cấp cùng một lúc. Điều này dẫn đến một vụ nổ trong thời gian tính toán. Thay vào đó, chúng tôi cố gắng tạo ra hình chữ nhật giống như hình vuông cho một tập hợp các anh chị em, chúng phải phù hợp và áp dụng cùng một phương pháp đệ quy. " Vì vậy, có vẻ như điều đó sẽ phù hợp với bạn. Ví dụ trong phần 3.1 đã cho bạn ý tưởng tốt về cách thức hoạt động của nó; mã giả nằm trong phần 3.2. – Thomas