Áö±Ý ÀڷᱸÁ¶ ¾Ë°í¸®Áò °øºÎ ÁßÀÎ ÇлýÀÔ´Ï´Ù. ´Ù¸§ÀÌ ¾Æ´Ï¶ó ÇØ½ÃÅ×À̺í üÀÌ´× ±â¹ý ±¸ÇöÀ» °øºÎÇÏ´Â Áß¿¡ Ã¥¿¡ ÀûÇôÀÖ´Â ÄÚµå Áß ÀÌÇØ°¡ ¾È°¡´Â°Ô ÀÖ¾î Áú¹®µå¸³´Ï´Ù..¤Ð¤Ð
class Node:
def __init__(self,key,value,next) :
self.key = key
self.value = value
self.next = next
class ChainedHash :
def __init__(self,capacity) :
self.capacity = capacity
self.table = [None]*self.capacity
def hash_value(self,key):
if isinstance(key,int):
return key % self.capacity
return (int(hashlib.sha256(str(key).encode()).hexdigest(),16)%self.capacity)
def remove(self,key):
hash = self.sash_value(key)
p = self.table[hash]
pp = None
while p is not None:
if p.key == key:
if pp is None:
self.table[hash] = p.next
else:
pp.next = p.next
return True
pp = p
p = p.next
return False
ÀÌ ºÎºÐ¿¡¼ ¹ØÀÇ remove¸Þ¼ÒµåÀÇ pp°¡ none°ªÀε¥ ¾î¶»°Ô if¹®¿¡¼ else·Î ºüÁú ¼ö ÀÖ´ÂÁö µµÅë Ã߸®°¡ ¾ÈµË´Ï´Ù ¤Ð¤Ð¤Ð
³Ê¹« ±âÃÊÀûÀÎ ºÎºÐÀε¥ Çì¸Å´Ï±î ÀÚ±«°¨ÀÌ µé¾î¼ ¿Éġų»· Çß½À´Ï´Ù ¤Ð