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

最小矩形覆蓋演算法

發布時間: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. 重復以上步驟,直到只剩下一個矩形(最終解)

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

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

閱讀全文

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

熱點內容
靜脈壓縮襪和打底褲的區別 瀏覽:345
勁舞伺服器中斷是什麼原因 瀏覽:630
40歲北漂程序員 瀏覽:55
下載釘釘app是什麼 瀏覽:222
什麼伺服器支持雲播放 瀏覽:835
什麼app進貨牛排比較好 瀏覽:107
為什麼鴻蒙用安卓app 瀏覽:82
手相面相pdf 瀏覽:376
軍犬不聽命令追出大門 瀏覽:915
程序員必背97件事 瀏覽:941
雲伺服器python怎麼讀取 瀏覽:33
哪裡買雲伺服器劃算 瀏覽:238
四川日報pdf 瀏覽:967
按摩解壓助眠小姐姐 瀏覽:411
風冷壓縮機水冷卻器 瀏覽:879
伺服器播放器如何打開方式 瀏覽:790
phppython快 瀏覽:367
pdf轉換word免費版 瀏覽:37
二手的有什麼APP 瀏覽:329
伺服器的應用鏡像是什麼 瀏覽:153