Update hash_set_linked_list.py

This commit is contained in:
marina 2023-08-07 16:42:22 -07:00 committed by GitHub
parent d1e0aa2a52
commit 95f73c5771
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -6,22 +6,22 @@
class HashSet:
def __init__(self):
self.key_range = 131
self.bucket = [LL_Bucket() for _ in range(self.key_range)]
self.size = 131
self.bucket = [Bucket() for _ in range(self.key_range)]
def _hash(self, key):
return key % self.key_range
def _get_hash_key(self, key):
return key % self.size
def add(self, element: int) -> None:
bucket_index = self._hash(element)
bucket_index = self._get_hash_key(element)
self.bucket[bucket_index].insert(element)
def remove(self, element: int) -> None:
bucket_index = self._hash(element)
bucket_index = self._get_hash_key(element)
self.bucket[bucket_index].delete(element)
def contains(self, element: int) -> bool:
bucket_index = self._hash(element)
bucket_index = self._get_hash_key(element)
return self.bucket[bucket_index].exists(element)
@ -31,9 +31,8 @@ class Node:
self.next = next
class LL_Bucket:
class Bucket:
def __init__(self):
# add a pseud head
self.head = Node(0)
def insert(self, value):