-
Notifications
You must be signed in to change notification settings - Fork 0
/
direct method.py
45 lines (35 loc) · 1.12 KB
/
direct method.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
class HashTable:
def __init__(self, size):
self.size = size
self.table = [None] * size
def hash_function(self, key):
return key % self.size
def insert(self, key, value):
index = self.hash_function(key)
if self.table[index] is None:
self.table[index] = [(key,value)]
else:
self.table[index].append((key,value))
def search(self, key):
index = self.hash_function(key)
if self.table[index] is not None:
for k, v in self.table[index]:
if k == key:
return print(v)
return None
def remove(self, key):
index = self.hash_function(key)
if self.table[index] is not None:
for i, (k,_) in enumerate(self.table[index]):
if k == key:
del self.table[index][i]
return
print('KEy not found')
def print(self):
for i in range(self.size):
print(f"Bucket {i}: {self.table[i]}")
hashh = HashTable(5)
hashh.insert(23, 23)
hashh.insert(23, 2223)
hashh.remove(23)
hashh.print()