Tree with integer addition - Henrik-Peters/Multi-Level-Segment-Tree GitHub Wiki

Segment tree example for the sum of integers:

object IntegerAddition extends Monoid[Int] {
  def fold(a: Int, b: Int): Int = a + b
  def identity: Int = 0
}

val data = List(2, 3, 4, 7, 8, 9)
val tree: SegmentTree[Int] = SegmentTree.fromSequence(data, IntegerAddition)

tree.dumpTree("sumtree-example")

This snippet will produce this dump (legend was added for better readability): Sumtree-Example