yfast trie 后继结构在数字之间有大量空隙时表现不佳
作者: xiankaing创建于 2019年5月16日更新于 2019年5月16日
此测试将失败 func TestTrieSuccessorBigGaps(t *testing.T) { yfast := New(uint64(0))
e3 := newMockEntry(13 << 32)
yfast.Insert(e3)
successor := yfast.Successor(0)
assert.Equal(t, e3, successor)
e1 := newMockEntry(3 << 32)
e2 := newMockEntry(7 << 32)
yfast.Insert(e1, e2)
successor = yfast.Successor(0)
assert.Equal(t, e1, successor)
successor = yfast.Successor(1)
assert.Equal(t, e1, successor)
successor = yfast.Successor(3<<32 + 1)
assert.Equal(t, e2, successor)
successor = yfast.Successor(8 << 32)
assert.Equal(t, e3, successor)
successor = yfast.Successor(14 << 32)
assert.Nil(t, successor)
successor = yfast.Successor(100 << 32)
assert.Nil(t, successor)
}
内容来源: Workiva/go-datastructures