Python之kdtree库函数介绍

Python之kdtree库函数介绍

安装

使用anaconda的命令行安装

conda install kdtree

库函数介绍

class Node

函数名输入参数函数功能
Node(data, left, right)结点数据;左子结点;右子结点创建结点实例
node.is_leaf-返回布尔值,判断是否为叶子结点
node.preorder-结点处先序遍历,返回一个迭代器
node.inorder-结点处中序遍历,返回一个迭代器
node.postorder-结点处后序遍历,返回一个迭代器
node.children-返回结点的所有孩子结点的一个迭代器
node.set_child(index, child)index为0表示修改左孩子结点,否则表示修改右孩子结点;child为要修改的值修改结点的孩子结点
node.height-返回子树的高度
node.get_child_pos(child)-给定孩子结点,返回其父结点的位置

class KDNode

函数名输入参数函数功能
KDNode(data=None,left=None,right=None,axis=None,sel_axis=None, dimensions=None)数据;左子结点;右子结点;从某个维度开始进行切割;下一次切割时(即创建子结点时维度的变化方式)创建结点实例
kdnode.add(point)-向当前节点添加一个点,或以迭代方式下行到其子节点之一。
kdnode.create_subnode(data)-为当前结点创建子结点
kdnode.find_replacement()-寻找当前结点的替代
kdnode.remove(point,node=Node)-移除指定的结点,返回子树的新的根结点
kdnode.is_balanced-检测kd树是否平衡
kdnode.rebalance-重新平衡kd树,并返回可能的根结点
kdnode.axis_dist(point, axis)-计算指定维度上结点数据与给定数据的平方距离
kdnode.dist(point)-计算结点数据与给定数据的平方距离
kdnode.search_knn(point, k, dist=None)dist是一个计算距离的lambda表达式寻找给定数据的k个临近点
kdnode.search_nn(point, dist=None)-寻找最近邻点
kdnode.search_nn_dist(point, distance, best=None)-寻找给定距离范围内的最邻近点
kdnode.is_valid-检测kd树是否有效
kdnode.extreme_child(sel_func, axis)返回子树的一个孩子和它的父亲

全局函数

函数名输入参数函数功能
visualize(tree, max_level=100, node_width=10, left_padding=5)-打印kd树
level_order(tree, include_all=False)include_all:如果为True则包含空结点,用None表示返回一个迭代器,逐层遍历
create(point_list=None, dimensions=None, axis=0, sel_axis=None)axis表示从某个维度开始进行切割;sel_axis是一个lambda表达式,表示所选择的axis从数据列表创建kd树
  • 1
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值