1.哈希查找 (1)什么是哈希表(Hash) 我们使用一个下标范围比较大的数组来存储元素。可以设计一个函数(哈希函数, 也叫做散列函数),使得每个元素的关键字都与一个函数值(即数组下标)相对应,于是用这个数组单元来存储这个元素;也可以简单的理解为,按照关键字为每一个元素"分类",然后将这个元素存储在 ...
分类:
编程语言 时间:
2019-09-28 18:31:57
阅读次数:
93
散列表:WORD文档中如何检测单词的拼写错误散列表用的是数组支持按照下标随机访问数据的特性,所以散列其实是数组的一种扩展,由数组演化而来。散列表(哈希表 Hash Table):由散列函数(哈希函数)和数组构成,底层存储数据的是数组。散列函数(键转化为散列值即数组下标)的设计:散列值是非负整数;if... ...
分类:
其他好文 时间:
2019-09-28 10:29:40
阅读次数:
107
散列:原理 桶bucket:直接存放或间接指向一个词条(即词条的引用) 桶数组bucket array/散列表hash table,容量为M,即散列表长度 N < M << R 空间 = O(N+M)=O(N) 定址/杂凑/散列: 根据词条的key(未必可比较) 直接确定散列表入口 散列函数:has ...
分类:
其他好文 时间:
2019-09-24 21:24:55
阅读次数:
121
散列表的内部机制(实现,冲突,散列函数) 应用案例 一、散列表=散列函数+数组 散列函数特点: 散列表是由键和值组成的。 冲突的处理方式,当两个键映射到同一个位置,就在这个位置存储一个链表。 二、 迭代器是跟容器紧密结合的,不同的容器,它的迭代器不同,但是,他们有共同的目标,就是可以通过该迭代器,来 ...
分类:
编程语言 时间:
2019-09-06 18:48:49
阅读次数:
101
散列表类似于数组,可以把散列表的散列值看成数组的索引值。访问散列表和访问数组元素一样快速,它可以在常数时间内实现查找和插入操作。 由于无法通过散列值知道键的大小关系,因此散列表无法实现有序性操作。 查找 用散列函数将被查找的键转化程数组的一个索引(理想状态下,不同的键都能转化为不同的索引值。当然这只 ...
分类:
其他好文 时间:
2019-09-04 19:00:59
阅读次数:
75
因为要保证数据的完整一致性,采用了MD5算法。然后做一个简单的了解 一、MD5概念MD5,全名Message Digest Algorithm 5 ,中文名为消息摘要算法第五版,为计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护。上面这段话话引用自百度百科,MD5是一种信息摘要算法,主 ...
分类:
编程语言 时间:
2019-08-21 11:52:26
阅读次数:
119
1.hashcode()和equals()是在哪里被用到的?什么用的? HashMap是基于散列函数,以数组和链表的方式实现的。而对于每一个对象,通过其hashCode()方法可为其生成一个整形值(散列码),该整型值被处理后,将会作为数组下标,存放该对象所对应的Entry(存放该对象及其对应值)。e ...
分类:
编程语言 时间:
2019-06-19 00:22:15
阅读次数:
149
MD5加密网站 https://md5jiami.51240.com/ MD5消息摘要算法(英语:MD5 Message-Digest Algorithm),一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value),用于确保信息传输完整一致。MD5由罗纳德·李 ...
分类:
其他好文 时间:
2019-06-17 14:13:11
阅读次数:
113
散列 基于数组进行设计的数据结构 优点:可以快速插入,删除和取用数据 缺点:查找操作效率低下 在使用散列表存储数据时,通过一个 散列函数 将键映射为一个数字,这个数字的范围是0到散列表的长度。理想情况下从key到index应该是一一对应的,然而键的数量可以是无限的,而数组长度是有限的,因此一个更现实 ...
分类:
编程语言 时间:
2019-06-15 13:42:31
阅读次数:
110
hashlib模块 概念: 对称加密: 数据加密解密使用相同的密钥 非对称加密: 加密和解密用两把不同的密钥, 公钥用于加密数据,私钥用于解密数据 单向加密: 只能加密数据,而不能解密数据 hash: 散列函数,一般翻译为哈希,把的任意长度的数据,通过散列函数进行转化,变成一个长度固定的值(散列值) ...
分类:
其他好文 时间:
2019-06-01 23:29:27
阅读次数:
151