-
-
Notifications
You must be signed in to change notification settings - Fork 18
Open
Description
const tree = new SplayTree()
const inputs: number[] = []
for (let number = 0; number < 10_000; number++) {
for (let i = 0; i < 3; i++) {
tree.insert(number)
inputs.push(number)
}
}
const shuffled = shuffle(inputs)
while (shuffled.length > 0) {
const number = shuffled.pop()!
tree.remove(number)
if (tree.size !== tree.keys().length) {
console.error('SIZE MISMATCH', number, 'size:', tree.size, 'keys:', tree.keys().length)
break
}
}Results in
SIZE MISMATCH 5613 size: 29992 keys: 29991
Size is reduced by 1, by 2 nodes are removed.
There is no issue if the the numbers are not shuffled.
Metadata
Metadata
Assignees
Labels
No labels