最新文章列表

为什么Java String哈希乘数为31?

发表文章之后,发现很多图片显示不了,请阅读我的公众号文章,以获得本文最佳体验: 为什么Java String哈希乘数为31?   前面简单介绍了[ 经典的Times 33 哈希算法 ],这篇我们通过分析Java 1.8 String类的哈希算法,继续聊聊对乘数的选择。 String类的hashCode()源码
zhanjia 评论(0) 有1922人浏览 2018-07-15 16:55

HashMap的实现原理及源码分析

一、HashMap概述     HashMap通过键值的方式存储数据,为非线程安全的类,键和值可以为null,键不能重复,继承了AbstractMap并实现了Map接口   二、源码 ...
拓子轩 评论(0) 有6314人浏览 2017-05-01 18:58

哈希应用

  一 哈希介绍 1、若关键字为k,则其值存放在f(k)的存储位置上。由此,不需比较便可直接取得所查记录。称这个对应关系f为散列函数,按这个思想建立的表为散列表。 2、对不同的关键字可能得到同一散列地址,即k1≠k2,而f(k1)=f(k2),这种现象称为碰撞(英语:Collision)。具有相同函数值的关键字对该散列函数来说称做同义词。综上所述,根据散列函数f(k)和处理碰撞的方法将 ...
cakin24 评论(0) 有785人浏览 2016-12-18 08:20

openssl哈希表

一 哈希表         在一般的数据结构如线性表和树中,记录在结构中的相对位置是与记录的关键字之间不存在确定的关系,在结构中查找记录时需进行一系列的关键字比较。这一类查找方法建立在“比较”的基础上,查找的效率与比较次数密切相关。理想的情况是能直接找到需要的记录,因此必须在记录的存储位置和它的关键字之间建立确定的对应关系,使每个关键字和结构中一个唯一的存储位置相对应。在查找时,只需根据这 ...
cakin24 评论(0) 有1095人浏览 2016-12-17 07:18

[转]理解一致性哈希算法(consistent hashing)

一致性哈希算法原理 http://www.cnblogs.com/lpfuture/p/5796398.html 白话解析一致性哈希算法(Excellent) http://www.zsythink.net/archives/1182 理解一致性哈希算法(consistent hashing) 原文链接:http://blog.csdn.net/cywosp/article/details/2 ...
darrenzhu 评论(0) 有1001人浏览 2016-09-14 10:29

Word Pattern

Given a pattern and a string str, find if str follows the same pattern. Here follow means a full match, such that there is a bijection between a letter in pattern and a non-empty word in str. Example ...
KickCode 评论(0) 有621人浏览 2016-02-27 03:29

Happy Number

Write an algorithm to determine if a number is "happy". A happy number is a number defined by the following process: Starting with any positive integer, replace the number by the sum of the ...
KickCode 评论(0) 有550人浏览 2016-02-19 01:57

【转】一些常用的hash函数

一些常用的hash方法 unsigned int RSHash(const std::string& str) { unsigned int b = 378551; unsigned int a = 63689; unsigned int hash = 0; for(std::size_t i = 0; i < str.l ...
RoomFourteen224 评论(0) 有604人浏览 2015-05-01 18:00

ruby数组和哈希学习笔记

一.数组 1.数组的定义   a = Array.new #定义一个数组a b = Array.new(5) #定义一个含5个nil元素的数组 c = Array.new(5,1) #定义一个含5个1元素的数组 d = [] #定义一个空数组d   2.数组的运算   << :追加元素 + :串联方法 - :数组差 ...
moneyinto 评论(1) 有1856人浏览 2014-08-28 20:18

三种数据结构

首先看看这三种数据结构: 第一种,只存一个数组: activities = [ { name: "first activity", sign_ups:[], bids:[] }, { name: "second activity&qu ...
moneyinto 评论(5) 有1095人浏览 2014-07-24 20:48

HashMap 底层算法分析

详见: http://blog.yemou.net/article/query/info/tytfjhfascvhzxcytp72 Hash算法HashMap使用Hash算法,所以在解剖HashMap之间,需要先简单的了解Hash算法,Hash算法一般也 ...
grefr 评论(0) 有1111人浏览 2014-02-26 16:30

java.util.HashMap 源码解读及其进化

  原文: http://coderbee.net/index.php/java/20131018/519   概述 java.util.HashMap 是JDK里散列的一个实现,JDK6里采用位桶+链表的形式实现,Java8里采用的是位桶+ ...
wen866595 评论(0) 有1660人浏览 2013-10-18 16:47

Ruby的数组和哈希对比

    相同点:         都是带索引的集合。         都是用来存储对象集合的。         都可以通过键来访问。         都可以动态增加内存空间来存储新元素。         都能保存任何类型的对象。       不同点:         数组的键是整数,哈希可以是任何对象。         数组访问效率更高,哈希访问更灵活。         数组用 ...
wangsir_81 评论(0) 有667人浏览 2013-09-04 14:05

FNV哈希算法

FNV哈希算法是一种高离散性的哈希算法,特别适用于哈希非常相似的字符串,例如:URL,IP,主机名,文件名等。 该算法实现简单,特别适合互联网行业。 但该算法也有几个缺点 1. 不适用于加密,因为其执行效率高,容易攻击; 2. 由于hash结果是按位异或和乘积的,如果任何一步出现0,则结果可能会造成冲突;   FVN哈希算法支持多种位的哈希算法,下面是一个32位FVN哈希算法的实现: ...
jamie.wang 评论(0) 有8173人浏览 2013-02-18 15:39

HashMap和Hashtable的比较

这两个类是java中进行key-value存储、查询的常用类,如果我们学习过哈希算法就会知道key-value查询的效率依赖于如何存储,换句话说,如果存的好,拿出来就容易,存的不好,拿出来就不方便。两个类有很多相似之处,他们之间的关系和区别到底如何,先看看它们两个当中最核心方法put的实现。 1.Hashtable的put方法的实现,以下代码做了注释: /** * Hashtable的p ...
cug_xw 评论(0) 有1130人浏览 2013-01-24 12:29

为啥要用位运算代替取模呢

    在hash中查找key的时候,经常会发现用&取代%,先看两段代码吧,     JDK6中的HashMap中的indexFor方法: /** * Returns index for hash code h. */ static int indexFor(int h, int length) { return h &am ...
chenchao051 评论(13) 有11656人浏览 2012-11-14 14:36

哈希 Open Hashing 和 Closed Hashing

1. Open Hashing, 又叫拉链法 2. Closed Hashing, 又叫开地址法 (Open Addressing) 理由: 1.叫拉链,是因为哈希冲突后,用链表去延展来解决。既然有了延展,你就应该明白为啥叫“Open”了。 2.叫Closed,是因为哈希冲突后,并不会在本身之外开拓新的空间,而是继续顺延下去某个位置来存放,所以是一个密闭的空间,所以叫“Closed”,至于开地址 ...
have_life 评论(0) 有12471人浏览 2012-09-06 11:16

大数据 求重

Bloom Filter 1.http://baike.baidu.com/view/1912944.htm  (百科知识) 2.http://blog.csdn.net/jiaomeng/article/details/1495500 (csdn)
have_life 评论(0) 有787人浏览 2012-09-06 10:45

mysql索引之哈希索引

哈希索引(Hash Index)建立在哈希表的基础上,它只对使用了索引中的每一列的精确查找有用。对于每一行,存储引擎计算出了被索引的哈希码(Hash Code),它是一个较小的值,并且有可能和其他行的哈希码不同。它把哈希码保存在索引中,并且保存了一个指向哈希表中的每一行的指针。 在mysql中,只有memory存储引擎支持显式的哈希索引。如果多个值有相同的哈希码,索引就会把行指针以链表的方式保 ...
home198979 评论(0) 有15904人浏览 2012-08-29 18:56

Java的MD5、SHA-1加密

严格地说,MD5,SHA1非加密算法,它们都不可逆: 但不能阻止山大的女博士王某某的哈希碰撞~ 我擦~ 反正MD5也不安全了== Java实现算法如下 ...
kingsmalltwo 评论(1) 有2227人浏览 2012-01-04 00:02

最近博客热门TAG

Java(141747) C(73651) C++(68608) SQL(64571) C#(59609) XML(59133) HTML(59043) JavaScript(54918) .net(54785) Web(54513) 工作(54116) Linux(50906) Oracle(49876) 应用服务器(43288) Spring(40812) 编程(39454) Windows(39381) JSP(37542) MySQL(37268) 数据结构(36423)

博客人气排行榜

    博客电子书下载排行

      >>浏览更多下载

      相关资讯

      相关讨论

      Global site tag (gtag.js) - Google Analytics