And*_*yuk 5 java modeling design-patterns range-tree
我目前正在实施2D范围树.我在为我的Node类提出一个似乎合理的模型(用Java)时遇到了麻烦.
树中的节点可以具有以下任何一个:中间值,右和左子指针,子树,数据指针和/或前一个和下一个指针.
我将节点分解为三个独立的逻辑部分
我尝试应用Composite和Decorator模式,但无济于事.我试过制作:
它是这样的,但是如果有一种更好的方法将它建模为一组类,我就会徘徊?
编辑:范围树(简短信息):在范围树中 - 所有数据都存储在Leaf节点中,并且树始终是平衡的.此外,所有叶子都处于相同的高度.此外,叶子被分类,并通过双向链表链接在一起.最后,但并非最不重要的是,每个非叶子节点都有一个子树 - 它也是一个范围树,但是叶子在下一个属性上排序(比如y,如果原始树在x上排序).

abstract class AbstractNode {
int midRange;
}
class InnerNode extends AbstractNode {
AbstractNode left;
AbstractNode right;
AbstractNode subtree;
}
class LeafNode extends AbstractNode {
LeafNode next;
LeafNode prev;
Object data;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
267 次 |
| 最近记录: |