diff --git a/hash_objects/hash_set_linked_list.py b/hash_objects/hash_set_linked_list.py index e16c141..ffba419 100644 --- a/hash_objects/hash_set_linked_list.py +++ b/hash_objects/hash_set_linked_list.py @@ -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):