首页IT科技python链表详解(python链表法的优缺点)

python链表详解(python链表法的优缺点)

时间2025-07-17 04:14:28分类IT科技浏览4642
导读:1、优点,方便删除记录,直接处理数组对应下标的子数组。平均搜索速度快。如果有冲突,只需要查询子数组。...

1              、优点               ,方便删除记录                      ,直接处理数组对应下标的子数组              。平均搜索速度快                       。如果有冲突        ,只需要查询子数组        。

2                       、缺点       ,使用指针导致查询速度较慢                      ,内存占用可能较高               ,不适合序列化              。

而开放式寻址法的优缺点与链表法相反                      。因为Python的一切都是基于Dict的       ,都需要序列化                      ,所以选择了开放式寻址法        。

实例

#keys函数 #!/usr/bin/envpython #coding=utf-8 classDict: def__init__(self,num): self.__solts__=[] self.num=num for_inrange(num): self.__solts__.append([]) defhash_fun(self,key,num): hashval=0 x=key ifx<0: print"thekeyislow" return whilex!=0: hashval=(hashval<<3)+x%10 x/=10 returnhashval%num defput(self,key,value): i=self.hash_fun(key,self.num)%self.num forp,(k,v)inenumerate(self.__solts__[i]): ifk==key: break else: self.__solts__[i].append((key,value)) return self.__solts__[i][p]=(key,value) defget(self,key): i=self.hash_fun(key,self.num)%self.num fork,vinself.__solts__[i]: ifk==key: returnv raiseKeyError(key) #keys函数 defkeys(self): ret=[] forsoltinself.__solts__: fork,_insolt: ret.append(k) returnret def__getitem__(self,key): returnself.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" printH.get(54) H.put(13,"duck") printH.__solts__ printH.keys()

以上就是python链表法的优缺点               ,希望对大家有所帮助       。更多Python学习指路:Python基础教程

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
Mac怎么强制退出word(Mac如何强制退出程序 Mac强制关闭程序教程) 苹果cms模板制作教程(苹果CMSV8模板免费下载,轻松搭建个性化网站)