Esempio n. 1
0
 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)
Esempio n. 2
0
 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)
Esempio n. 3
0
  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
Esempio n. 4
0
    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)
Esempio n. 5
0
 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)
Esempio n. 7
0
    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
Esempio n. 8
0
    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)
Esempio n. 9
0
    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
Esempio n. 10
0
 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
Esempio n. 11
0
    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)
Esempio n. 15
0
 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
Esempio n. 16
0
    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
Esempio n. 17
0
    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
Esempio n. 19
0
  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)
Esempio n. 20
0
    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)
Esempio n. 21
0
 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))
Esempio n. 22
0
 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)
Esempio n. 23
0
 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)