# 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实现哈希表相关推荐

  1. 七十五、Python | Leetcode哈希表系列

    @Author:Runsen @Date:2020/7/3 人生最重要的不是所站的位置,而是内心所朝的方向.只要我在每篇博文中写得自己体会,修炼身心:在每天的不断重复学习中,耐住寂寞,练就真功,不畏艰 ...

  2. python leetcode_七十五、Python | Leetcode哈希表系列

    @Author:Runsen @Date:2020/7/3 人生最重要的不是所站的位置,而是内心所朝的方向.只要我在每篇博文中写得自己体会,修炼身心:在每天的不断重复学习中,耐住寂寞,练就真功,不畏艰 ...

  3. 源程序的相似性分析 —— 基于Python实现哈希表

    一.问题描述 对于两个C++语言的源程序代码,用哈希表的方法分别统计两个程序中使用C++语言关键字的情况,并最终按定量的计算结果,得出两份程序的相似性. 二.需求分析 建立C++语言关键字的哈希表,统 ...

  4. python建立哈希表_python实现哈希表

    复制代码 代码如下: #! /usr/bin/env python #coding=utf-8 #实现哈希表(线性地址再散列) def ChangeKey(key,m,di): key01=(key+ ...

  5. python中哈希表和set的使用

    哈希表不能将可变对象作为key值,即引用类型的内容不能是可变的,这样不安全,因为hashcode函数是根据对象的内容计算出key和value的位置,如果引用的内容可变,那么每次查找的位置结果都不一样, ...

  6. ❤️导图整理数组6:四数组的四数之和,详解Counter类实现哈希表计数,力扣454❤️

    此专栏文章是对力扣上算法题目各种方法的总结和归纳, 整理出最重要的思路和知识重点并以思维导图形式呈现, 当然也会加上我对导图的详解. 目的是为了更方便快捷的记忆和回忆算法重点(不用每次都重复看题解), ...

  7. python 哈希表_哈希表哪家强?编程语言找你来帮忙!

    点击关注上方"五分钟学算法", 设为"置顶或星标",第一时间送达干货. 转自编程技术宇宙 哈希表华山论剑 比特宇宙编程语言联合委员会准备举办一次大会,主题为哈希 ...

  8. 【Python算法】哈希存储、哈希表、散列表原理

    哈希表的定义: 哈希存储的基本思想是以关键字Key为自变量,通过一定的函数关系(散列函数或哈希函数),计算出对应的函数值(哈希地址),以这个值作为数据元素的地址,并将数据元素存入到相应地址的存储单元中 ...

  9. 哈希表(散列表)基础概念与经典题目(Leetcode题解-Python语言)之中——实际应用

    上一节介绍了哈希表的原理与设计方法,这一节则直接python中现有的哈希表类型:哈希集合 set(集合)和哈希映射 dict(字典)来解决实际应用(刷题). 零.概念 在介绍实际应用之前,有一个概念我 ...

最新文章

  1. 《数学之美》第11章 如何确定网页和查询的相关性
  2. chinese_L-12_H-768_A-12的一个坑
  3. 程序员如何做瑜伽? | 每日趣闻
  4. SQL SERVER中用户定义标量函数(scalar user defined function)的性能问题
  5. 适配移动端的文字超出隐藏并添加省略号
  6. 解决checkbox与对应文字不对齐的问题
  7. python中的zip是什么意思_Python的zip()函数是什么
  8. sweetalert2不相应回车_你还不知道的SketchUp建模小技能
  9. 在CentOS/RHEL/Scientific Linux 6 7 上安装Telnet
  10. Vue学习计划基础笔记(六) - 组件基础
  11. SwiftUI实战三:创建List视图和导航Navigation
  12. 视频分配器的特点以及应用
  13. 跟着团子学SAP CS:SAP CS(客户服务)模块概览
  14. BZOJ1050 [HAOI2006]旅行comf(Kruskal算法)
  15. 什么是JIT编译器?
  16. Linux sed按行遍历文件内容,并删除匹配成功的行
  17. NSGA2 Matlab toolbox
  18. 阿里云ECS ubuntu16.04安装桌面图形界面
  19. 【附源码】计算机毕业设计JAVA智能快递分拣系统
  20. android export apk,APKExport-APK导出

热门文章

  1. springCloud - 第1篇 - 服务的注册 Eureka
  2. JAVA使用FTPClient类读写FTP
  3. GitHub(从安装到使用)
  4. WEBGL学习【四】模型视图矩阵
  5. kbengine通讯协议
  6. Android中的AnimationDrawable的使用
  7. c#中的常用ToString()方法总结。
  8. Windows To Ghost系统封装之必备软件集 - 好压
  9. Linux下安装FFmpeg
  10. 面向对象的故事~数据底层操作告诉了我们接口,抽象类,继承与多态性的使用~续(TestBase继承ITest是多余的?)...