- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
假设我有一组矩形(具有不同或相同的尺寸)。
这很容易通过线性搜索/更新在 O(n) 时间内解决,但是否有可能获得更好的结果?我认为 O(log n) 是最优的。插入和删除也必须比 O(n) 更快,这对我的情况才有用。
是否可以通过不找到最佳矩形来创建任何捷径,而是将第二个限制放宽为:“它也应该是可以包含给定矩形的最小矩形之一”-
我一直在考虑使用 Z-order curve (宽度/高度)并用作一维索引并将其与树结合。那行得通吗?还是会浪费太多?
另一种方法是使用一个轴使用树,然后线性测试另一个。
有没有人做过类似的事情,可以分享一下他们的经验吗?
最佳答案
这是一个尚未完全阐述的想法:
也许您可以使用四重分支树,其中包含二元组值(高度和宽度),每个值代表一个矩形。
一个节点 (w, h) 有 4 个子节点:
(<w, <h)
- 包含具有较小宽度和较小高度的矩形(>=w, <h)
- 包含具有更大宽度和更小高度的矩形(<w, >=h)
- 包含具有更小宽度和更大高度的矩形(>=w, >=h)
- 包含具有更大宽度和更大高度的矩形当您在 (w, h)
处下降时rect 节点为您的 (w2, h2)
寻找容器rect 现在有 4 种不同的情况:
w2<w and h2<h
- 三个选项:(>=w, <h)
, (<w, >=h)
, (>=w, >=h)
w2>=w and h2<h
- 两个选项:(>=w, <h)
, (>=w, >=h)
w2<w and h2>=h
- 两个选项:(<w, >=h)
, (>=w, >=h)
w2>=w and h2>=h
- 一个选项:(>=w, >=h)
你必须下降到所有可能的分支,这仍然比 O(n) 好。
插入是 O(log n)。还不确定删除和平衡。但我几乎可以肯定也有解决方案。
关于algorithm - 找出能容纳另一个矩形的面积最小的矩形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30458750/
我正在开发一个企业名录网站,其搜索将由 Google map 驱动。用户将能够根据各种标准搜索他们所在地区的企业,但主要的想法是,如果您搜索例如“新泽西州的水管工”,您将获得新泽西州所有水管工的结果。
我得到了一条任意形状的曲线,包围了一些区域。 我想估计曲线在 iPhone/iPad 屏幕上包围的像素数。我该怎么做? 曲线被定义为点的连续 x/y 坐标。 闭合曲线。 通过用户的触摸(touches
我想删除 R 在点阵图周围的默认边距。这意味着我想摆脱红色矩形之外的所有空白。这是示例: library (raster) library(rasterVis) f <- system.file("e
无法找到任何直接的解决方案来计算 GMSPolygon 对象面积。有什么方法可以做到这一点,或者我必须用边长和一些数学计算来计算它? 最佳答案 感谢@Larme; GMSGeometryArea 就是
假设例如我想将标准正态分布的密度曲线下方的面积着色为十分。我希望最左边 10% 的区域具有与接下来的 10% 不同的阴影,依此类推。 这是问题“Shading a kernel density plo
我正在为 Extjs 开发一个混合图表组件,并且曲线太尖锐了。我找不到曲线具有半径的配置。如果你处理过类似的事情,你能提供一些方法让我的曲线变得平滑一点吗?这是我的代码: Ext.define('Ex
上下文 我有一个 3D 对象,我有它的坐标。然后我将对象旋转 n 次,当对象投影到网格上时,我想计算对象的 2D 面积(以纳米为单位)。 例如, 我在下面有一张图片描述了我的问题。我有相同的对象,但在
当我知道我需要的地 block 总数并且我希望排列是一个正方形(可能有一些空的子地 block )时,我正在尝试弄清楚如何计算子地 block 尺寸。 例如,如果我需要 22 个子图,那么我会为总共
我是一名数据科学家。主要使用Python和SQL来编写代码。我使用data studio进行可视化。所以我对JS不熟悉。我的诀窍data studio community visualizations
我有 1797 张 Mnist 图像,为此我需要提取两个特征(FilledArea、EulerNumber)。我知道如何在 Matlab 中做到这一点。我的特征矩阵在 Matlab 中具有(并且是正确
我希望能够在 Google map 上绘制形状(圆形、多边形和矩形),但我想限制可以绘制的形状的大小(面积)。因此,以圆圈为例,期望的行为是当用户开始从 map 上的某个点拖动鼠标以形成圆圈时,圆圈会
我是一名优秀的程序员,十分优秀!