Algorithm 适合桌面窗口的算法(如平铺)
我使用搜索算法来解决如下问题: 我有几个窗口,每个窗口都可以移动和重新调整大小,但在宽度和高度之间有指定的比例,例如2:1(高度:宽度) 每个窗口不能位于其他窗口上,所有窗口必须完全可见。 自由区域(桌面壁纸可见性)必须最小 谁能告诉我这类问题需要什么算法Algorithm 适合桌面窗口的算法(如平铺),algorithm,packing,tiling,Algorithm,Packing,Tiling,我使用搜索算法来解决如下问题: 我有几个窗口,每个窗口都可以移动和重新调整大小,但在宽度和高度之间有指定的比例,例如2:1(高度:宽度) 每个窗口不能位于其他窗口上,所有窗口必须完全可见。 自由区域(桌面壁纸可见性)必须最小 谁能告诉我这类问题需要什么算法 您好,一种方法是将其视为一个问题,就像1D箱子包装问题一样。例如,发布了一个示例算法,其中有一些很好的参考。另一种可能比打包更容易实现的方法是,将屏幕大小细分为所需数量的窗格,然后在窗格内安装一个满足其他要求的窗口。由于您可能会随时打开少量窗
您好,一种方法是将其视为一个问题,就像1D箱子包装问题一样。例如,发布了一个示例算法,其中有一些很好的参考。另一种可能比打包更容易实现的方法是,将屏幕大小细分为所需数量的窗格,然后在窗格内安装一个满足其他要求的窗口。由于您可能会随时打开少量窗口,并且由于您的屏幕不会动态更改其大小,因此您可能可以预先计算1到O(100)个打开窗口所需的所有排列。如果您可以放宽所有窗口都具有给定“宽高比”的要求,那么问题就变得非常简单。假设要在单个屏幕上排列
N
“平铺”,则可以将这些平铺排列在列中,列数NumCols
是N
的平方根,当N
不是完美的正方形时,四舍五入。所有的砖柱宽度相等。然后,根据需要向上或向下舍入每列中的分片数,使总列数为N/NumCols
。这是Microsoft Excel在“查看>排列所有内容>平铺”下执行的操作。Excel选择在屏幕左侧少放一个平铺的列。相关:窗口大小调整功能有什么用?是的,你需要做的就是重新布局——布局算法是你想要的,不是吗,不是它周围的基础设施?