python数组和链表的区别,python链表的实现

  python数组和链表的区别,python链表的实现

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

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

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

  实例

  #键函数

  #!/usr/bin/envpython

  #编码=utf-8

  classDict:

  def__init__(self,num):

  自我. solts__=[]

  自我编号=数字

  for_inrange(编号):

  自我__solts__ .追加([])

  defhash_fun(self,key,num):

  hashval=0

  x=键

  ifx0:

  打印"钥匙慢"

  返回

  whilex!=0:

  哈希瓦尔=(哈希瓦尔3) x

  x/=10

  returnhashval%num

  解冻(自身,键,值):

  i=self.hash_fun(key,self.num)%self.num

  forp,(k,v)inenumerate(self .__solts__[i]):

  ifk==key:

  破裂

  else:

  自我__solts__[i].追加((关键字,值))

  返回

  自我. solts__[i][p]=(key,value)

  defget(self,key):

  i=self.hash_fun(key,self.num)%self.num

  叉子,葡萄酒:

  ifk==key:

  returnv

  raiseKeyError(键)

  #键函数

  defkeys(self):

  ret=[]

  forsoltinself .__solts__:

  叉子,_ insolt:

  ret.append(k)

  返回浸水使柔软

  def__getitem__(self,key):

  returnself.get(key)

  def__setitem__(self,key,data):

  自我上传(键,数据)

  h=字典(13)

  H[54]=猫

  H[26]=狗

  H[93]=狮子

  H[17]=老虎

  H[77]=鸟

  H[31]=牛

  H[44]=山羊

  H[55]=猪

  H[20]=鸡

  printH.get(54)

  H.put(13,”鸭子")

  普林斯__solts__

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

  本文教程操作环境:windows7系统、Python 3.9.1、戴尔自交第三代电脑。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: