public class SegmentTree<T extends Segment>
extends java.lang.Object
| Modifier and Type | Field and Description |
|---|---|
protected java.util.ArrayList<T> |
edges |
protected SegmentNode<T> |
root |
protected java.util.ArrayList<java.lang.Integer> |
sortedEndpoints |
| Constructor and Description |
|---|
SegmentTree(java.util.ArrayList<T> edges)
Constructore for T tree
|
| Modifier and Type | Method and Description |
|---|---|
protected SegmentNode<T> |
createTreeNode(int begin,
int end) |
SegmentNode<T> |
getRoot() |
boolean |
insert(T seg) |
static <T extends Segment> |
printSegmentTree(SegmentTree<T> t) |
java.util.ArrayList<java.lang.Integer> |
rangeQuery(int begin,
int end) |
boolean |
remove(T seg) |
java.util.ArrayList<java.lang.Integer> |
stabbingQuery(int coord) |
protected SegmentNode<T extends Segment> root
protected java.util.ArrayList<java.lang.Integer> sortedEndpoints
public SegmentTree(java.util.ArrayList<T> edges)
edges - all edges in the "world" the tree might containpublic boolean insert(T seg)
public boolean remove(T seg)
public SegmentNode<T> getRoot()
protected SegmentNode<T> createTreeNode(int begin, int end)
public java.util.ArrayList<java.lang.Integer> stabbingQuery(int coord)
public java.util.ArrayList<java.lang.Integer> rangeQuery(int begin,
int end)
public static <T extends Segment> void printSegmentTree(SegmentTree<T> t)