导航:首页 > 源码编译 > 最小矩形覆盖算法

最小矩形覆盖算法

发布时间: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. 重复以上步骤,直到只剩下一个矩形(最终解)

以上两段其实是一个意思:尽量用较小的“面积损失”最大限度的减少待处理矩形数。只是第一段是特例,也就是无“面积损失”的拼接。

不过,一般来说,这不会是最优解。

阅读全文

与最小矩形覆盖算法相关的资料

热点内容
张勤编译青鸟 浏览:989
演出app哪个好 浏览:864
凤凰app推广开户哪个好 浏览:823
租服务器要关注什么 浏览:215
shell命令vi 浏览:673
javaem算法 浏览:588
闪送app哪里下载 浏览:654
java语言编译器词法分析 浏览:379
22岁程序员图片大全 浏览:954
ibm如何查看服务器raid 浏览:678
程序员那么可爱叶子是谁 浏览:716
gcc82编译器入口地址 浏览:693
上架一个服务器要做什么 浏览:854
创立文件夹命令 浏览:252
单片机移位寄存器 浏览:6
java程序设计及实训教程 浏览:335
redis有序集合算法 浏览:778
java获取最大值 浏览:74
linux硬件配置命令 浏览:948
java6webservice 浏览:450