Advertisement
nirajs

hasmap

Jan 2nd, 2024
695
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.17 KB | None | 0 0
  1. class Bucket:
  2.     def __init__(self):
  3.         self.bucket = []
  4.  
  5.     def get(self, key):
  6.         for (k,v) in self.bucket:
  7.             if k == key:
  8.                 return v
  9.         return -1
  10.  
  11.     def put(self, key, val):
  12.         found = False
  13.         for i, (k,v) in enumerate(self.bucket):
  14.             if (k == key):
  15.                 self.bucket[i] = (key, val)
  16.                 found = True
  17.         if (not found):
  18.             self.bucket.append((key, val))
  19.             print(self.bucket)
  20.  
  21.     def remove(self, key):
  22.         for i, (k,v) in enumerate(self.bucket):
  23.             if (k == key):
  24.                 del self.bucket[i]
  25.  
  26. class MyHashMap:
  27.     def __init__(self):
  28.         self.hashTable = [Bucket() for _ in range(1027)]
  29.  
  30.     def get(self, key):
  31.         index = hash(key) % len(self.hashTable)
  32.         return self.hashTable[index].get(key)
  33.  
  34.     def put(self, key, val):
  35.         index = hash(key) % len(self.hashTable)
  36.         self.hashTable[index].put(key, val)
  37.  
  38.     def remove(self, key):
  39.         index = hash(key) % len(self.hashTable)
  40.         self.hashTable[index].remove(key)
  41.  
  42.  
  43. # map = MyHashMap()
  44. # map.put(1,2)
  45. # print(map.get(1))
  46. # map.remove(1)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement