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

最小矩形覆蓋演算法

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

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

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

閱讀全文

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

熱點內容
伺服器上如何查看伺服器的埠 瀏覽:676
單片機伺服器編譯 瀏覽:768
單口usb列印機伺服器是什麼 瀏覽:859
戰地五開伺服器要什麼條件 瀏覽:954
在word中壓縮圖片大小 瀏覽:253
javatomcat圖片 瀏覽:417
程序員生產智能創意 瀏覽:65
匯和銀行app怎麼登錄 瀏覽:381
騰訊伺服器如何上傳源碼 瀏覽:745
單片機的原理概述 瀏覽:510
火控pdf 瀏覽:267
如何復制雲伺服器centos環境 瀏覽:984
債權pdf 瀏覽:303
紅色番字的app怎麼下載 瀏覽:876
雲伺服器流程教課 瀏覽:702
中國農業銀行app怎麼沒有網 瀏覽:997
幾率表演算法 瀏覽:902
程序員理工科 瀏覽:708
企業郵箱登錄收件伺服器地址 瀏覽:560
計算機思維與演算法設計的重要性 瀏覽:664