我有一个 json 嵌套对象,类似于this。
在我的例子中,我有一个id
int 类型的唯一字段(比如name
上面说的)。这不是二叉树,而是更刻画父子关系。我想要一种方法来轻松查找植根于 say 的子树(孩子)id = 121
。以蛮力的方式,我可以比较所有节点,直到找到一个,然后返回子节点。但我想保留一张 {id, node} 的地图。例如{"121" : root[1][10]..[1]}
. 这可能是对内存的超级浪费(除非使用指向数组的指针)。请注意肯定有更好的方法。
我可以控制从服务器发送的内容,因此可以增加上述数据结构。但需要一种快速的方法来根据客户端的节点 ID 获取子树。
编辑:我正在考虑保留另一个数据结构,{id, []ids} 的映射,其中 ids 是从根目录开始的有序路径。有更好的办法吗?