導航:首頁 > 源碼編譯 > 最小矩形覆蓋演算法

最小矩形覆蓋演算法

發布時間:2023-08-23 03:05:09

⑴ 將N個大小不等的矩形不重疊地拼在一個指定的大矩形里(大矩形長寬固定),求使佔用大矩形區域最小的演算法

大矩形圖像為矩陣M(二值圖像)
小矩形長為a1,a2……an
寬為b1,b2,……bn
所有常量(長和寬)放到一個數列A中,按大小排序;
設置大矩形圖像起始點O1(0,0)
if A不為空,then 循環

如其中(A中元素)最大的是bi,從數列中刪除bi和ai;
O1點刪除bi*ai區域(矩陣數值歸零),剩餘部分生成兩個或多個矩形。長寬分別為c1,c2……d1,d2……放到數列B中,按大小排序;
找出B中最小值ci加入數列A排序。O定為ci對應點。
在A中取小於ci的最大常量;從A刪除ci;

輸出矩陣M

請指教

⑵ 求一個排列演算法,或者解決的思路!若干矩形拼湊成一個矩形,不能重疊,如何排列可以使最終面積最小

1. 計算寬度之和、高度之和,如果寬度和較大則先處理2.1,否則先處理2.2
2.1. 按照寬度從小到大排列,寬度相同的矩形拼成更大的矩形
2.2. 按照高度做相同的處理
3. 重復以上步驟,直到沒有寬、高相同的矩形

1. 計算寬度之和、高度之和,如果寬度和較大則先處理2.1,否則先處理2.2
2.1. 按照寬度從小到大排列,找出兩個矩形,使得拼接後的「矩形」面積中空缺部分最小(較可能是寬度相差較小的兩個矩形)。
2.2. 按照高度做相同的處理
3. 重復以上步驟,直到只剩下一個矩形(最終解)

以上兩段其實是一個意思:盡量用較小的「面積損失」最大限度的減少待處理矩形數。只是第一段是特例,也就是無「面積損失」的拼接。

不過,一般來說,這不會是最優解。

閱讀全文

與最小矩形覆蓋演算法相關的資料

熱點內容
迅投python下單 瀏覽:471
javamd5加密32位 瀏覽:469
php連接mysql測試代碼 瀏覽:473
如何下載亞馬遜app安卓 瀏覽:698
解壓神器大組合 瀏覽:728
多次編譯一個內核會快嗎 瀏覽:162
單片機伺服500k 瀏覽:868
linux安裝repo 瀏覽:799
app上的小說怎麼下載 瀏覽:230
陝西工會app所屬工會怎麼修改 瀏覽:177
手機如何設置app定向免流 瀏覽:246
程序員電腦什麼牌子的多 瀏覽:311
捷豹水泵編程 瀏覽:251
如何在電腦上查找dns伺服器地址 瀏覽:589
華為榮耀v40加密怎麼搞 瀏覽:489
單個伺服器怎麼確保網路安全 瀏覽:949
超高效定速壓縮機 瀏覽:628
怎樣把文件夾解壓到磁碟 瀏覽:826
java十進制十六進制轉換 瀏覽:404
安卓手機怎麼關閉識別物品 瀏覽:693