treez
A collection of useful data structures
implemented:
- segment tree
+ usage:
```let mut segments = vec![];
for i in 0..10 {
let n = (i*5, 5*i+5, i); //(left_bound,right_bound,segment_id); inclusive bounds
segments.push( n );
}
let t : treez::seg::TreeSeg = treez::seg::TreeSeg::init( segments.as_slice() );
let check: HashSet<_> = [ 2, 3, 4 ].iter().cloned().collect();
let query_segs: HashSet<_> = t.get_segs_from_bound( (15,20) ).iter().cloned().collect();
println!( "query segs: {:?}", query_segs );
assert!( check.intersection(&query_segs).count() == check.len() );```