Exemple #1
0
def test_small_tree_score():
    # inefficiency score for trees of len() <= 2 should be 0.0
    t = IntervalTree()
    assert t.score() == 0.0

    t.addi(1, 4)
    assert t.score() == 0.0

    t.addi(2, 5)
    assert t.score() == 0.0

    t.addi(1, 100)  # introduces inefficiency, b/c len(s_center) > 1
    assert t.score() != 0.0
Exemple #2
0
def test_small_tree_score():
    # inefficiency score for trees of len() <= 2 should be 0.0
    t = IntervalTree()
    assert t.score() == 0.0

    t.addi(1, 4)
    assert t.score() == 0.0

    t.addi(2, 5)
    assert t.score() == 0.0

    t.addi(1, 100)  # introduces inefficiency, b/c len(s_center) > 1
    assert t.score() != 0.0
Exemple #3
0
def optimality():
    def make_interval(lst):
        return Interval(lst[0], lst[1], "{0}-{1}".format(*lst))

    ivs = [make_interval(iv) for iv in [
        [1, 2],
        [4, 7],
        [5, 9],
        [6, 10],
        [8, 10],
        [8, 15],
        [10, 12],
        [12, 14],
        [14, 15],
    ]]
    t = IntervalTree(ivs)
    t.print_structure()
    pprint(t.score(True), width=20)