Course Solutions Uncategorized (Solved) : Keep Track Collisions Probe Length Hash Table Mine Keeps Returning 0 Def Init Self Size 30 Q29501557 . . . .

(Solved) : Keep Track Collisions Probe Length Hash Table Mine Keeps Returning 0 Def Init Self Size 30 Q29501557 . . . .

 

How to keep track of collisions and probe length in a hashtable?Mine keeps returning 0?

def __init__(self, size=30):
        self.count = 0
        self.table_size =size
        self.array =build_array(self.table_size)
        self.collision=0
       self.totalProbeLength=0

My set item function.

def __setitem__(self, key, value):
        position =self.hash_value(key)
       sameKeyCollision=False
        for _ inrange(self.table_size):
           if self.array[position] is None:#found empty slot, collisionresolve
               self.array[position] = (key, value)
               self.count += 1
               sameKeyCollision=False
               
               
               return
           elif self.array[position][0] == key:#found key
               self.array[position] = (key, value)#update value, nocollision
               return
           elif self.array[position][0] !=key and sameKeyCollision==False:#notfound try next,first time collision
               position = (position+1) % self.table_size
               self.totalProbeLength+=1
               self.collision+=1
               sameKeyCollision=True
           elif self.array[position][0] !=key andsameKeyCollision==True:#probing
               position = (position+1) % self.table_size
               self.totalProbeLength+=1
   
        raise ValueError(“Tableis Full!”)

Expert Answer


An answer will be send to you shortly. . . . .

Leave a Reply

Your email address will not be published. Required fields are marked *

Related Post