【问题标题】:Flipping QuadTree in recursive abstract code在递归抽象代码中翻转四叉树
【发布时间】:2016-01-31 04:54:17
【问题描述】:

我试图递归地围绕垂直轴翻转四叉树,但不使用特定的 PL。在这种情况下,我写了以下内容,但我 100% 认为它实际上并不好,而且我不能确定我是否也理解它。

flip(quadtree) {
    if (singleNode)
        return quadtree
    else return formQuadTree(flip(NW(quadtree)), flip(NE(quadtree)), flip(SW(quadtree)), flip(SE(quadtree)))

有什么建议吗?

【问题讨论】:

    标签: shape flip quadtree


    【解决方案1】:

    替换:

    formQuadTree(flip(NW(quadtree)),flip(NE(quadtree)),flip(SW(quadtree)),flip(SE(quadtree))).

    与:

    formQuadTree(flip(NE(quadtree)),flip(NW(quadtree)),flip(SE(quadtree)),flip(SW(quadtree))).

    你到底有什么不明白的?

    formQuadTree( topLeft, topRight, bottomLeft, bottomRight ) - 形成你的四叉树。每次您递归地输入 flip( quadTree ) 时,您都会在 inductive 步骤 中越走越深,并返回 base case,翻转具有 4 个子 quadTrees 的每个节点。

    所以一旦你所有的递归调用都到达return quadtree,你所有的归纳节点都已经被相应地安排好了。

    【讨论】:

    • Facebook 可能确实是一个更好的提问场所,非常感谢。
    猜你喜欢
    • 2016-08-15
    • 1970-01-01
    • 2020-04-08
    • 2013-04-14
    • 1970-01-01
    • 1970-01-01
    • 2018-12-10
    • 1970-01-01
    • 2011-11-24
    相关资源
    最近更新 更多