Я программирую Kdtrees на Python 3, и у меня возникла проблема с функцией, предназначенной для определения, находится ли узел, введенный в аргументах, в Kdtree.
Я использую рекурсивную функцию, но она возвращает None дажекогда точка присутствует.
#I put the init to show you how the kdnode is made
class KdNode:
def __init__(self, point, dim, left_child, right_child):
self.point = point;
self.dim = dim;
self.left_child = left_child;
self.right_child = right_child;
def KdTree_present(kdnode,point_to_test):
if kdnode == None:
return
else:
KdTree_present(kdnode.left_child, point_to_test)
KdTree_present(kdnode.right_child, point_to_test)
if kdnode.point == point_to_test:
return True
#Kdnode_example = [(150, 300), 1, [(200, 250), 0, None, None], [(325, 400), 0, None, None]]
Даже вывод KdTree_present должен быть True, это всегда None.