gpt4 book ai didi

algorithm - 使用橡皮筋求解凸包?

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:33:25 25 4
gpt4 key购买 nike

<分区>

可以通过拉伸(stretch)橡皮筋使其包含所有点然后松开来找到凸包。

所以我的问题是:假设我们有一个机器人(理论上的机器人)来解决这个问题。我们给它我们点的坐标(我们有 n 个点)。

  1. 它使用一些引脚来指示板上的点 (O(n))。

  2. 现在我们选择一个点(选择哪个并不重要)然后我们检查它与其他点的距离,例如 ( sqr( x^2 + y^2 ) ) 。然后我们找到最大距离。

  3. 然后机器人使用橡皮筋将其拉伸(stretch)成一个圆,其半径为我们在步骤 2 中找到的距离,并以我们在步骤 2 中选择的点为中心。它会释放橡皮筋。

  4. 然后机器人需要跟随橡皮筋在 O( m ) 中找到凸包的顶点,其中 m 是凸包由它们组成的顶点。(m <= n)

所以算法的总阶数(这种方式)为 O(n)。

我知道我没有考虑橡皮筋需要拉伸(stretch)的时间或收缩所需的时间。

但假设我们有很多点,它(收缩/拉伸(stretch))花费的时间比 O(n) 少得多。

有没有电脑模拟橡皮筋的效果?

我知道凸包的最低可能顺序据说是 O(nlg(n)) 由于排序较低带。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com