我正在使用python 3.6和{}。在
这个问题有一个sister,在这里我从另一个视角来处理这个问题。但它们不是同一个问题。
我实现了一个r-tree结构,并尝试使用Numba来提高性能,但是当我在搜索项目时不得不对必须访问的节点进行排队时,我遇到了一些问题。在
下面我提供了一个基本元素(节点)和get_all函数的示例,在这里我模拟了树中的搜索(这里我只获取其中的所有元素)。在
这个例子有点长,但希望足够清楚。在import numba as nb
import numpy as np
INF = np.iinfo(np.int64).max
node_type = nb.deferred_type()
stack_type = nb.deferred_type()
node_spec = [
('bbox', nb.int64[:]),
('data', nb.optional(nb.int32)),
('leaf', nb.optional(nb.boolean)),
('height', nb.optional(nb.int16)),
('children', nb.optional(stack_type))
]
@nb.jitclass(node_spec)
class Node(object):
def __init__(self, bbox, data, leaf, height, children):
self.bbox = bbox
self.data = data
self.leaf &