新聞中心
這里有您想知道的互聯(lián)網營銷解決方案
創(chuàng)新互聯(lián)Python教程:python鏈表法的優(yōu)缺點
1、優(yōu)點,方便刪除記錄,直接處理數(shù)組對應下標的子數(shù)組。平均搜索速度快。如果有沖突,只需要查詢子數(shù)組。

成都創(chuàng)新互聯(lián)公司是一家集網站建設,頭屯河企業(yè)網站建設,頭屯河品牌網站建設,網站定制,頭屯河網站建設報價,網絡營銷,網絡優(yōu)化,頭屯河網站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強企業(yè)競爭力。可充分滿足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學習、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網站。
2、缺點,使用指針導致查詢速度較慢,內存占用可能較高,不適合序列化。
而開放式尋址法的優(yōu)缺點與鏈表法相反。因為Python的一切都是基于Dict的,都需要序列化,所以選擇了開放式尋址法。
實例
# 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()
以上就是python鏈表法的優(yōu)缺點,希望對大家有所幫助。更多Python學習指路:創(chuàng)新互聯(lián)Python教程
本文教程操作環(huán)境:windows7系統(tǒng)、Python 3.9.1,DELL G3電腦。
文章標題:創(chuàng)新互聯(lián)Python教程:python鏈表法的優(yōu)缺點
網頁鏈接:http://www.dlmjj.cn/article/cciiige.html


咨詢
建站咨詢
