From your implementation code, https://github.com/fukatani/TreeSet/blob/5e24a515148c9cc2947b392518413a76b9885453/treeset.py#L67 I believe you're using Python `list` built-in `remove` method to remove an element. The time complexity of this method is `O(n)`. However, Java `TreeSet.remove()` is `O(log n)`, I wonder is there any way to speed up the remove operation?