Removes all intervals overlapping the given point or range. Completes in O((r+m)*log n) time, where: * n = size of the tree * m = number of matches * r = size of the search range (this is 1 for a point)
(self, begin, end=None)
| 468 | self.update(other) |
| 469 | |
| 470 | def remove_overlap(self, begin, end=None): |
| 471 | """ |
| 472 | Removes all intervals overlapping the given point or range. |
| 473 | |
| 474 | Completes in O((r+m)*log n) time, where: |
| 475 | * n = size of the tree |
| 476 | * m = number of matches |
| 477 | * r = size of the search range (this is 1 for a point) |
| 478 | """ |
| 479 | hitlist = self.at(begin) if end is None else self.overlap(begin, end) |
| 480 | for iv in hitlist: |
| 481 | self.remove(iv) |
| 482 | |
| 483 | def remove_envelop(self, begin, end): |
| 484 | """ |