這篇文章主要介紹了python鏈表法的優(yōu)缺點(diǎn)有哪些,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
專注于為中小企業(yè)提供成都做網(wǎng)站、成都網(wǎng)站制作服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)武鄉(xiāng)免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了1000+企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。
1、優(yōu)點(diǎn),方便刪除記錄,直接處理數(shù)組對應(yīng)下標(biāo)的子數(shù)組。平均搜索速度快。如果有沖突,只需要查詢子數(shù)組。
2、缺點(diǎn),使用指針導(dǎo)致查詢速度較慢,內(nèi)存占用可能較高,不適合序列化。
而開放式尋址法的優(yōu)缺點(diǎn)與鏈表法相反。因?yàn)镻ython的一切都是基于Dict的,都需要序列化,所以選擇了開放式尋址法。
實(shí)例
# keys函數(shù) #!/usr/bin/env python # coding=utf-8 class Dict: def __init__(self, num): self.__solts__ = [] self.num = num for _ in range(num): self.__solts__.append([]) def hash_fun(self,key,num): hashval = 0 x = key if x < 0: print "the key is low" return while x != 0: hashval = (hashval << 3) + x%10 x /=10 return hashval % num def put(self, key, value): i = self.hash_fun(key,self.num) % 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 = self.hash_fun(key,self.num) % self.num for k, v in self.__solts__[i]: if k == key: return v raise KeyError(key) # keys函數(shù) def keys(self): ret = [] for solt in self.__solts__: for k, _ in solt: ret.append(k) return ret def __getitem__(self,key): return self.get(key) def __setitem__(self,key,data): self.put(key,data) H = Dict(13) H[54] = "cat" H[26] = "dog" H[93] = "lion" H[17] = "tiger" H[77] = "bird" H[31] = "cow" H[44] = "goat" H[55] = "pig" H[20] = "chicken" print H.get(54) H.put(13,"duck") print H.__solts__ print H.keys()
感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“python鏈表法的優(yōu)缺點(diǎn)有哪些”這篇文章對大家有幫助,同時也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識等著你來學(xué)習(xí)!
標(biāo)題名稱:python鏈表法的優(yōu)缺點(diǎn)有哪些
新聞來源:http://muchs.cn/article8/jpeiip.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站排名、ChatGPT、企業(yè)網(wǎng)站制作、搜索引擎優(yōu)化、靜態(tài)網(wǎng)站、移動網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)