python链表法的优缺点有哪些
发表于:2025-01-21 作者:千家信息网编辑
千家信息网最后更新 2025年01月21日,这篇文章主要介绍了python链表法的优缺点有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1、优点,方便删除记录,直接处理数组对
千家信息网最后更新 2025年01月21日python链表法的优缺点有哪些
这篇文章主要介绍了python链表法的优缺点有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
1、优点,方便删除记录,直接处理数组对应下标的子数组。平均搜索速度快。如果有冲突,只需要查询子数组。
2、缺点,使用指针导致查询速度较慢,内存占用可能较高,不适合序列化。
而开放式寻址法的优缺点与链表法相反。因为Python的一切都是基于Dict的,都需要序列化,所以选择了开放式寻址法。
实例
# keys函数#!/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 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函数 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链表法的优缺点有哪些"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!
篇文章
优缺点
数组
函数
序列
开放式
速度
开放
查询
下标
价值
优点
兴趣
内存
同时
实例
指针
更多
朋友
知识
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
安卓网页游戏服务器
idc服务器
赛季服哪个服务器预约角色最多
海南耀昆邵兴网络技术有限公司
网络数据库怎么开
dns服务器 ip
初中网络安全资料
网络安全专题网络培训有什么好处
虹口区推广软件开发报价表
网络安全大讲堂青少年专场
网络安全的心得体会300
农行软件开发中心初试都考啥
ug如何恢复数据库
四川安卓软件开发哪里好
水处理软件开发商
服务器 专利
网络技术挑战赛报名网站
三年级网络安全手抄报模板
c语言软件开发有哪些软件
网络安全技术吧
安卓导航u盘数据库
win10云服务器怎么安装d盘
2019全国网络安全题库
网络技术学习计划作文
数据库应用与维护创建视图
软件开发时间按什么算
各种服务器环境的区别
四川安卓软件开发哪里好
金钱信托软件开发前景
昌平区的软件开发公司