Closed Bhavesh9908 closed 2 months ago
@Bhavesh9908, this pull request is being closed as none of the checkboxes have been marked. It is important that you go through the checklist and mark the ones relevant to this pull request. Please read the Contributing guidelines.
If you're facing any problem on how to mark a checkbox, please read the following instructions:
x
between the square bracket like so: [x]
NOTE: Only [x]
is supported so if you have put any other letter or symbol between the brackets, that will be marked as invalid. If that is the case then please open a new pull request with the appropriate changes.
Describe your change:
Added the KD-Tree construction algorithm to the repository. The 'build_kdtree' function has been implemented to construct a KD-Tree from a list of points, handling different depths and dimensions. Includes type annotations for better code clarity and maintenance. The algorithm recursively splits the points based on the median of the axis determined by the depth of the tree. Added doctests to verify the correctness of the algorithm.
Removed depth from test_build_kdtree: If depth is not used, it's best to remove it. The function build_kdtree should not rely on it unless explicitly designed to do so. Check for KDNode: Simplified the type checking for KDNode to ensure the KD-Tree is built correctly. Edge Case Handling: Ensured that edge cases are properly handled with the assumption that an empty KD-Tree should be handled by nearest_neighbour_search. Ensure that your 'build_kdtree', 'hypercube_points', and 'nearest_neighbour_search' functions are correctly implemented and compatible with the tests.
Checklist: