(điều này có liên quan đến câu hỏi khác của tôi, xem tại đây )
Hãy tưởng tượng một màn hình, với 3 cửa sổ trên đó:
Tôi muốn tìm một cấu trúc dữ liệu hiệu quả để thể hiện điều này, đồng thời hỗ trợ các hành động này:
- trả về một danh sách các tọa độ trong đó một cửa sổ đã cho có thể được định vị mà không bị chồng chéo với các cửa sổ khác
- ví dụ trên, nếu chúng ta muốn chèn một cửa sổ có kích thước 2x2, các vị trí có thể sẽ là (8, 6), (8, 7), ..
- Thay đổi kích thước cửa sổ trên màn hình mà không chồng lấp các cửa sổ khác trong khi duy trì tỷ lệ khung hình
- chèn cửa sổ ở vị trí x, y (giả sử nó không trùng nhau)
Ngay bây giờ cách tiếp cận ngây thơ của tôi là giữ một loạt các cửa sổ và đi qua tất cả các điểm trên màn hình, kiểm tra từng cái nếu nó nằm trong bất kỳ cửa sổ nào. Đây là trong đó là chiều rộng, chiều cao của màn hình và là số lượng cửa sổ trong đó. Lưu ý rằng nói chung sẽ nhỏ (giả sử <10) trong đó mỗi cửa sổ chiếm nhiều không gian.