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

最小矩形覆蓋演算法

發布時間: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位置 瀏覽:29
南京java公司 瀏覽:581
合唱app哪個好用 瀏覽:466
英文版伺服器日誌怎麼看 瀏覽:65
笑臉買小人賣主圖指標公式源碼 瀏覽:944
javasocket時間設置 瀏覽:688
使役形命令形 瀏覽:231
尚矽谷程序員哪個好 瀏覽:252
政治論pdf 瀏覽:561
mvc在android中的應用 瀏覽:446
劇場解壓視頻搞笑 瀏覽:134
壓縮式製冷機原理圖 瀏覽:864
我的世界tnt跑酷伺服器地址 瀏覽:550
伺服器問題如何診斷與分析 瀏覽:626
哪些人需要閱讀源碼 瀏覽:627
程序員漢中 瀏覽:336
電腦桌面文件加密了忘記密碼了 瀏覽:393
安卓手機怎麼下載lark 瀏覽:940
單片機課程設計密碼鎖 瀏覽:480
雲幫手管理幾個伺服器 瀏覽:618