def find(self, key): if self.key is None: return False c = helper.compare_by_y(key, self.key) if c == 0: return True elif c == -1: if self.left: self.left.find(key) else: return False else: if self.right: self.right.find(key) else: return False
def insert(self, key, value): if self.key is None: self.key = key self.value = value c = helper.compare_by_y(key, self.key) if c == 0: self.value += value elif c == -1: if self.left is None: self.left = Q(key, value) else: self.left.insert(key, value) else: if self.right is None: self.right = Q(key, value) else: self.right.insert(key, value)
def find_new_event(s1, s2, p, q): i = helper.intersect(s1, s2) if i: if helper.compare_by_y(i, p) == 1: if not q.find(i): q.insert(i, [])