Android 台灣中文網

標題: 解決Rectangle Packing問題 [打印本頁]

作者: 暗桌之光    時間: 2011-7-8 15:43
標題: 解決Rectangle Packing問題
問題描述:如何把任意數量任意尺寸矩形集無重複的放到一個面積最小的封閉矩形中。
算法思想:(為了便於描述,把要找的封閉矩形記為a,封閉矩形的集合記為as,把矩形集合記為rs,n為rs中矩形的個數,把可以插入矩形的位置記為corners)
1.把所有矩形集中的矩形按高度從大到小排序,此時rs[0]高度最大
2.把a初始化為:height = rs[0].height,width = rs[0].width + rs[1].width + ...... + rs[n - 1].width,corners初始化為:坐標頂點
3.把rs[0]放入a中,並把由於rs[0]的插入產生的corner放入corners集合中,刪除已經使用的corner,如下圖所示:
a1.jpg
登錄/註冊後可看大圖