/// <summary> /// Impresion recursiva /// </summary> private void doPrintDebugKdTree(KdTreeNode node, int index, StringBuilder sb) { var lineas = ""; for (var i = 0; i < index; i++) { lineas += "-"; } if (node.isLeaf()) { if (node.models.Length > 0) { sb.Append(lineas + "Models [" + node.models.Length + "]" + "\n"); } else { sb.Append(lineas + "[0]" + "\n"); } } else { sb.Append(lineas + "\n"); index++; for (var i = 0; i < node.children.Length; i++) { doPrintDebugKdTree(node.children[i], index, sb); } } }
private void obtenerEstadisticas(KdTreeNode node, ref int minModels, ref int maxModels) { if (node.isLeaf()) { var n = node.models.Length; if (n < minModels) { minModels = n; } if (n > maxModels) { maxModels = n; } } else { for (var i = 0; i < node.children.Length; i++) { obtenerEstadisticas(node.children[i], ref minModels, ref maxModels); } } }