gpt4 book ai didi

c - 我读了k-d树伪代码,但不知道这一行的含义

转载 作者:行者123 更新时间:2023-11-30 18:57:32 24 4
gpt4 key购买 nike

function kdtree (list of points pointList, int depth)
{
// Select axis based on depth so that axis cycles through all valid values
var int axis := depth mod k;

// Sort point list and choose median as pivot element
select median by axis from pointList;

// Create node and construct subtrees
var tree_node node;
node.location := median;
node.leftChild := kdtree(points in pointList before median, depth+1);
node.rightChild := kdtree(points in pointList after median, depth+1);
return node;
}

任何人都可以帮我解释“var int axis := depth mod k;”这一行,

为什么 mod k,k 是什么?

最佳答案

k 是树的维度。您必须沿着每个方向重复地一一划分这组点。这里深度表示树的级别。现在,当您向下移动每个级别时,您必须移动到下一个轴,当您完成最后一个轴(即第 k 个维度)时,您将从第一个维度重新开始(或者在这种情况下,从 (k-1) 到第 0 维)。因此,下一个轴被选择为深度 mod k

关于c - 我读了k-d树伪代码,但不知道这一行的含义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20630195/

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