拉鏈法實(shí)現(xiàn)字典

拉鏈法.png

solts = []
solts_num = 32
for _ in range(solts_num):
solts.append([])
def put(solts, key, value):
i = hash(key) % solts_num
p = -1
for p, (k,v) in enumerate(solts[i]):
if k == key:
break
else:
solts[i].append((key, value))
return
if p >= 0:
solts[i][p] = (key, value)
def get(solts, key):
i = hash(key) % solts_num
for k , v in solts[i]:
if k == key:
return v
raise KeyError(k)

put(solts, 'r', 2)

put(solts, 'r', 2)

class Dict:
def init(self,num):
self.solts = []
self.num = num
for _ in range(num):
self.solts.append([])

def put(self, key, value):
    i = hash(key) % self.num
    for p, (k,v) in enumerate(self.__solts__[i]):
        if k == key:
            break
    else:
        self.__solts__[i].append((key, value))
        return
    self.__solts__[i][p] = (key, value)

def get(self, key):
    i = hash(key) % self.num
    for k, v in self.__solts__[i]:
        if k == key:
            return v
        raise KeyError(key)

d = dict(32)

d.put('r', 2)

d.put('d', 2)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容