python实现哈希表
# python 实现哈希表class HashTable:"""哈希函数的构造解决冲突"""def __init__(self, source):self.source = sourceself._index = []self._val = []self.table = []self._mod = 13def Output(self):print(self._index)print(self._val)def _create_table(self):"""初始化哈希表哈希表长度最短为取余因子_mod,一般为源数据长度"""if len(self.source) < self._mod:length = self._modelse:length = len(self.source)self._index = [i for i in range(length)]self._val = [None for i in range(length)]def _func_hash(self):"""构建哈希函数"""for sour in self.source:remainder = sour % self._modif self._val[remainder] is None:self._val[remainder] = sourelse:# 处理冲突rem = remainderwhile self._val[rem] is not None:if(rem + 1 >= len(self._val)):rem = -1rem += 1self._val[rem] = sourself.table = list(zip(self._index, self._val))def get(self, num):"""查找"""rem = num % self._modif self._val[rem] != num:while True:if(rem + 1 >= len(self._val)):rem = 0if self._val[rem] == num:breakrem += 1return remdef run(self):self._create_table()self._func_hash()self.Output()if __name__ == '__main__':test = [12, 15, 17, 21, 22, 25, 13, 0]h = HashTable(test)h.run()h.get(12)
只是为了巩固哈希表实现的原理,代码本身没什么用
python实现哈希表相关推荐
- 七十五、Python | Leetcode哈希表系列
@Author:Runsen @Date:2020/7/3 人生最重要的不是所站的位置,而是内心所朝的方向.只要我在每篇博文中写得自己体会,修炼身心:在每天的不断重复学习中,耐住寂寞,练就真功,不畏艰 ...
- python leetcode_七十五、Python | Leetcode哈希表系列
@Author:Runsen @Date:2020/7/3 人生最重要的不是所站的位置,而是内心所朝的方向.只要我在每篇博文中写得自己体会,修炼身心:在每天的不断重复学习中,耐住寂寞,练就真功,不畏艰 ...
- 源程序的相似性分析 —— 基于Python实现哈希表
一.问题描述 对于两个C++语言的源程序代码,用哈希表的方法分别统计两个程序中使用C++语言关键字的情况,并最终按定量的计算结果,得出两份程序的相似性. 二.需求分析 建立C++语言关键字的哈希表,统 ...
- python建立哈希表_python实现哈希表
复制代码 代码如下: #! /usr/bin/env python #coding=utf-8 #实现哈希表(线性地址再散列) def ChangeKey(key,m,di): key01=(key+ ...
- python中哈希表和set的使用
哈希表不能将可变对象作为key值,即引用类型的内容不能是可变的,这样不安全,因为hashcode函数是根据对象的内容计算出key和value的位置,如果引用的内容可变,那么每次查找的位置结果都不一样, ...
- ❤️导图整理数组6:四数组的四数之和,详解Counter类实现哈希表计数,力扣454❤️
此专栏文章是对力扣上算法题目各种方法的总结和归纳, 整理出最重要的思路和知识重点并以思维导图形式呈现, 当然也会加上我对导图的详解. 目的是为了更方便快捷的记忆和回忆算法重点(不用每次都重复看题解), ...
- python 哈希表_哈希表哪家强?编程语言找你来帮忙!
点击关注上方"五分钟学算法", 设为"置顶或星标",第一时间送达干货. 转自编程技术宇宙 哈希表华山论剑 比特宇宙编程语言联合委员会准备举办一次大会,主题为哈希 ...
- 【Python算法】哈希存储、哈希表、散列表原理
哈希表的定义: 哈希存储的基本思想是以关键字Key为自变量,通过一定的函数关系(散列函数或哈希函数),计算出对应的函数值(哈希地址),以这个值作为数据元素的地址,并将数据元素存入到相应地址的存储单元中 ...
- 哈希表(散列表)基础概念与经典题目(Leetcode题解-Python语言)之中——实际应用
上一节介绍了哈希表的原理与设计方法,这一节则直接python中现有的哈希表类型:哈希集合 set(集合)和哈希映射 dict(字典)来解决实际应用(刷题). 零.概念 在介绍实际应用之前,有一个概念我 ...
最新文章
- 《数学之美》第11章 如何确定网页和查询的相关性
- chinese_L-12_H-768_A-12的一个坑
- 程序员如何做瑜伽? | 每日趣闻
- SQL SERVER中用户定义标量函数(scalar user defined function)的性能问题
- 适配移动端的文字超出隐藏并添加省略号
- 解决checkbox与对应文字不对齐的问题
- python中的zip是什么意思_Python的zip()函数是什么
- sweetalert2不相应回车_你还不知道的SketchUp建模小技能
- 在CentOS/RHEL/Scientific Linux 6 7 上安装Telnet
- Vue学习计划基础笔记(六) - 组件基础
- SwiftUI实战三:创建List视图和导航Navigation
- 视频分配器的特点以及应用
- 跟着团子学SAP CS:SAP CS(客户服务)模块概览
- BZOJ1050 [HAOI2006]旅行comf(Kruskal算法)
- 什么是JIT编译器?
- Linux sed按行遍历文件内容,并删除匹配成功的行
- NSGA2 Matlab toolbox
- 阿里云ECS ubuntu16.04安装桌面图形界面
- 【附源码】计算机毕业设计JAVA智能快递分拣系统
- android export apk,APKExport-APK导出
热门文章
- springCloud - 第1篇 - 服务的注册 Eureka
- JAVA使用FTPClient类读写FTP
- GitHub(从安装到使用)
- WEBGL学习【四】模型视图矩阵
- kbengine通讯协议
- Android中的AnimationDrawable的使用
- c#中的常用ToString()方法总结。
- Windows To Ghost系统封装之必备软件集 - 好压
- Linux下安装FFmpeg
- 面向对象的故事~数据底层操作告诉了我们接口,抽象类,继承与多态性的使用~续(TestBase继承ITest是多余的?)...