mirror of
https://github.com/autistic-symposium/master-algorithms-py.git
synced 2025-04-29 20:26:07 -04:00
Update hash_set_linked_list.py
This commit is contained in:
parent
d1e0aa2a52
commit
95f73c5771
@ -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):
|
||||
|
Loading…
x
Reference in New Issue
Block a user