def add_elem(self, elem): # raise NotImplementedError hash1 = cs5112_hash1(elem) % self.size hash2 = cs5112_hash2(elem) % self.size hash3 = cs5112_hash3(elem) % self.size for j in [hash1, hash2, hash3]: self.array.set(j, True)
def add_elem(self, elem): p1 = cs5112_hash1(elem) % self.size p2 = cs5112_hash2(elem) % self.size p3 = cs5112_hash3(elem) % self.size self.array.set(p1, True) self.array.set(p2, True) self.array.set(p3, True)
def check_membership(self, elem): h_val1 = cs5112_hash1(elem) % 10 init_h_val2 = cs5112_hash2(elem) h_val2 = init_h_val2 % 10 init_h_val3 = cs5112_hash3(elem) h_val3 = init_h_val3 % 10 i = 1 while h_val2 == h_val1 and i < len(str(init_h_val2)): # h_val2 = int(cs5112_hash2(elem) % (10 ** (i + 1)) / 10 ** i) h_val2 = init_h_val2 % (10 ** (i + 1)) // 10 ** i i += 1 j = 1 while (h_val3 == h_val1 or h_val3 == h_val2) and j < len(str(init_h_val3)): # h_val3 = int(cs5112_hash3(elem) % (10 ** (j + 1)) / 10 **j) h_val3 = init_h_val3 % (10 ** (j + 1)) // 10 ** j j += 1 for ind in [h_val1, h_val2, h_val3]: if not self.array.get(ind): return False return True
def add_elem(self, elem): h1 = cs5112_hash1(elem) % self.size h2 = cs5112_hash2(elem) % self.size h3 = cs5112_hash3(elem) % self.size self.array.set(h1, True) self.array.set(h2, True) self.array.set(h3, True)
def check_membership(self, elem): #TODO: YOUR CODE HERE, delete the line below and implement accordingly if (self.array.get(cs5112_hash1(elem) % 10) and self.array.get(cs5112_hash2(elem) % 10) and self.array.get(cs5112_hash3(elem) % 10)): return True else: return False
def add_elem(self, elem): index1 = cs5112_hash1(elem) % self.size index2 = cs5112_hash2(elem) % self.size index3 = cs5112_hash3(elem) % self.size self.array.set(index1, True) self.array.set(index2, True) self.array.set(index3, True)
def check_membership(self, elem): p1 = cs5112_hash1(elem) % self.size p2 = cs5112_hash2(elem) % self.size p3 = cs5112_hash3(elem) % self.size if not self.array.get(p1) or not self.array.get( p2) or not self.array.get(p3): return False return True
def add_elem(self, elem): index1 = cs5112_hash1(elem) % self.size index2 = cs5112_hash2(elem) % self.size index3 = cs5112_hash3(elem) % self.size print(index1, index2, index3) # set indices to True self.array.set(index1, True) self.array.set(index2, True) self.array.set(index3, True)
def check_membership(self, elem): h1 = cs5112_hash1(elem) % self.size h2 = cs5112_hash2(elem) % self.size h3 = cs5112_hash3(elem) % self.size r1 = self.array.get(h1) r2 = self.array.get(h2) r3 = self.array.get(h3) return r1 and r2 and r3
def add_elem(self, elem): index_to_add_h1 = cs5112_hash1(elem) % self.size self.array.set(index_to_add_h1, True) index_to_add_h2 = cs5112_hash2(elem) % self.size self.array.set(index_to_add_h2, True) index_to_add_h3 = cs5112_hash3(elem) % self.size self.array.set(index_to_add_h3, True) return
def check_membership(self, elem): hash1 = cs5112_hash1(elem) % self.size hash2 = cs5112_hash2(elem) % self.size hash3 = cs5112_hash3(elem) % self.size if self.array.get(hash1) and self.array.get(hash2) and self.array.get( hash3): return True return False
def check_membership(self, elem): # If elem is None, raise an Exception if (elem == None): raise ValueError("Key can't be None") # Calculate the hashes for a given element. h1 = cs5112_hash1(elem) % self.size h2 = cs5112_hash2(elem) % self.size h3 = cs5112_hash3(elem) % self.size return (self.array.get(h1) and self.array.get(h2) and self.array.get(h3))
def add_elem(self, elem): #TODO: YOUR CODE HERE, delete the line below and implement accordingly hash_1 = cs5112_hash1(elem) hash_1_res_rightmost = hash_1 % self.size self.array.set(hash_1_res_rightmost, True) hash_2 = cs5112_hash2(elem) hash_2_res_rightmost = hash_2 % self.size self.array.set(hash_2_res_rightmost, True) hash_3 = cs5112_hash3(elem) hash_3_res_rightmost = hash_3 % self.size self.array.set(hash_3_res_rightmost, True)
def add_elem(self, elem): # If elem is None, raise an Exception if (elem == None): raise ValueError("Key can't be None") # Calculate the hashes for a given element. h1 = cs5112_hash1(elem) % self.size h2 = cs5112_hash2(elem) % self.size h3 = cs5112_hash3(elem) % self.size # Set True at h1, h2, and h3. self.array.set(h1, True) self.array.set(h2, True) self.array.set(h3, True)
def check_membership(self, elem): # raise NotImplementedError hash1 = cs5112_hash1(elem) % self.size hash2 = cs5112_hash2(elem) % self.size hash3 = cs5112_hash3(elem) % self.size counter = 0 for k in [hash1, hash2, hash3]: if self.array.get(k): counter += 1 if counter == 0: return False else: return True
def check_membership(self, elem): index1 = cs5112_hash1(elem) % self.size index2 = cs5112_hash2(elem) % self.size index3 = cs5112_hash3(elem) % self.size print(index1, index2, index3) value1 = self.array.get(index1) value2 = self.array.get(index2) value3 = self.array.get(index3) print(value1, value2, value3) # if all these indices are set to True in the bit array -> probably present (True) result = value1 and value2 and value3 return result
def check_membership(self, elem): index1 = cs5112_hash1(elem) % self.size index2 = cs5112_hash2(elem) % self.size index3 = cs5112_hash3(elem) % self.size value1 = self.array.get(index1) value2 = self.array.get(index2) value3 = self.array.get(index3) if not value1: return False elif not value2: return False elif not value3: return False else: return True
def check_membership(self, elem): #TODO: YOUR CODE HERE, delete the line below and implement accordingly hash_1 = cs5112_hash1(elem) hash_1_res_rightmost = hash_1 % self.size bool1 = self.array.get(hash_1_res_rightmost) hash_2 = cs5112_hash2(elem) hash_2_res_rightmost = hash_2 % self.size bool2 = self.array.get(hash_2_res_rightmost) hash_3 = cs5112_hash3(elem) hash_3_res_rightmost = hash_3 % self.size bool3 = self.array.get(hash_3_res_rightmost) if (bool1 and bool2 and bool3): return True return False
def add_elem(self, elem): h_val1 = cs5112_hash1(elem) % 10 init_h_val2 = cs5112_hash2(elem) h_val2 = init_h_val2 % 10 init_h_val3 = cs5112_hash3(elem) h_val3 = init_h_val3 % 10 i = 1 while h_val2 == h_val1 and i < len(str(init_h_val2)): # h_val2 = int(cs5112_hash2(elem) % (10 ** (i + 1)) / 10 ** i) h_val2 = init_h_val2 % (10 ** (i + 1)) // 10 ** i i += 1 j = 1 while (h_val3 == h_val1 or h_val3 == h_val2) and j < len(str(init_h_val3)): # h_val3 = int(cs5112_hash3(elem) % (10 ** (j + 1)) / 10 **j) h_val3 = init_h_val3 % (10 ** (j + 1)) // 10 ** j j += 1 self.array.set(h_val1, True) self.array.set(h_val2, True) self.array.set(h_val3, True)
def add_elem(self, elem): self.array.set(cs5112_hash1(elem) % self.size, True) self.array.set(cs5112_hash2(elem) % self.size, True) self.array.set(cs5112_hash3(elem) % self.size, True)
def check_membership(self, elem): index_h1 = cs5112_hash1(elem) % self.size index_h2 = cs5112_hash2(elem) % self.size index_h3 = cs5112_hash3(elem) % self.size return(self.array.get(index_h1) and self.array.get(index_h2) and self.array.get(index_h3))
def add_elem(self, elem): #TODO: YOUR CODE HERE, delete the line below and implement accordingly self.array.set(cs5112_hash1(elem) % 10, True) self.array.set(cs5112_hash2(elem) % 10, True) self.array.set(cs5112_hash3(elem) % 10, True)
def check_membership(self, elem): return self.array.get(cs5112_hash1(elem) % self.size) & self.array.get(cs5112_hash2(elem) % self.size) & self.array.get(cs5112_hash3(elem) % self.size)