File tree Expand file tree Collapse file tree 1 file changed +33
-0
lines changed
Expand file tree Collapse file tree 1 file changed +33
-0
lines changed Original file line number Diff line number Diff line change 1+ class HashTable :
2+ def __init__ (self ):
3+ self .size = 128
4+ self .hash_table = [[] for _ in range (self .size )]
5+
6+ def _hash (self , value ):
7+ summ = 0
8+ for symbol in value :
9+ summ += ord (symbol )
10+ return summ % self .size
11+
12+ def put (self , key , value ):
13+ index = self ._hash (key )
14+ table = self .hash_table [index ]
15+ if key not in table :
16+ self .hash_table [index ].append ((key , value ))
17+
18+ def get (self , key ):
19+ index = self ._hash (key )
20+ table = self .hash_table [index ]
21+ for i , (k , v ) in enumerate (table ):
22+ if key == k :
23+ return v
24+ return None
25+
26+ def remove (self , key ):
27+ index = self ._hash (key )
28+ table = self .hash_table [index ]
29+ for i , (k , v ) in enumerate (table ):
30+ if key == k :
31+ self .hash_table [index ].pop (i )
32+ break
33+ return
You can’t perform that action at this time.
0 commit comments