1 #include 2 #include 3 #include 4 #include 5 using std::vector; 6 using std::list; 7 using std::string; 8 using std::find; 9 10 int hash(const s...
分类:
其他好文 时间:
2015-07-15 12:38:19
阅读次数:
130
在很多电子商务和社区应用中,我们都要存放很多的客户的资料,其中包括了很多的隐私信息和客户不愿被别人看到的信息,当然好有客户执行各种操作的密码,此时就需要对客户的信息进行加密再存储,目前有两种比较好的加密算法:MD5和sha1。这两种加密算法都属于散列加密技术。所谓散列加密就是无论输入的字符串是什么,...
分类:
编程语言 时间:
2015-07-14 17:33:26
阅读次数:
164
文件校验和匹配
要是你怀疑可能有很多文件具有相同的内文,而是用cmp或diff进行比较所有横队的比较,导致所花费的时间会随着文件数目增长成次方的增长.
这是可以使用file checksum(文件校验和),取得近似线性的性能.有很多工具可用来计算文件与字符串的校验和,包括sum,cksum,以及checksum,消息摘要工具md5与md5sum,安全性散列算法工具sha,shalsum,...
分类:
系统相关 时间:
2015-07-14 15:47:33
阅读次数:
237
一、HashMap概述 HashMap 在家族中位置:实现了Map接口,继承AbstractMap类。HashMap 允许key/value 都为null.二、HashMap存储结构 HashMap实际上是一个“链表散列”的数据结构,即数组和链表的结合体。在其内部维护一个Entry类型数组,...
分类:
其他好文 时间:
2015-07-13 13:50:00
阅读次数:
240
一.简介:一致性hash算法提出了在动态变化的Cache环境中,判定哈希算法好坏的四个定义:1、平衡性(Balance)2、单调性(Monotonicity)3、分散性(Spread)4、负载(Load)普通的哈希算法(也称硬哈希)采用简单取模的方式,将机器进行散列,这在cache环境不变的情况下能...
分类:
编程语言 时间:
2015-07-12 12:39:51
阅读次数:
160
散列表之开放定址法
散列表的基本操作
插入操作_INSERT
查找操作_SEARCH
删除操作_DELETE
散列表的探查方法probe methods
散列表探查的定义
线性探查
二次探查
双重散列
总结注意:
本文中所有的代码你可以在这里:https://github.com/qeesung/algorithm/tree/master/chapter11/11-4/openAddressing...
分类:
其他好文 时间:
2015-07-12 09:40:30
阅读次数:
134
本学习笔记部分内容来自网易云课堂浙江大学数据结构课程,谢谢!
1、散列表(哈希表)
已知的几种查找方法:
顺序查找 O(N)
二分查找(静态查找) O(logN)
二叉搜索树 O(h) h为二叉树高度 (动态查找:有插入有删除有查找)
平衡二叉树 O(logN)
查找的本质:已知对象找位置
1、有序安排对象:全序或半序;
2、直接算出对象位置...
分类:
其他好文 时间:
2015-07-11 18:40:07
阅读次数:
253
FastByIdMap是基于散列的,在处理冲突时是线性探测而非分离链接,这样就不必为每一个条目增加一个Map.Entry对象,从而节省内存开销。
下面代码是一个线性探测Map的Demo:package com.example.mahout;public class ArrayHashST_Linear_Probing {
private int M = 30001;...
分类:
其他好文 时间:
2015-07-07 22:52:06
阅读次数:
163
最近刷Leetcode发现凡是找字符串中重复字符或者数组中找重复数据的时候就不知道从何下手了。
所以决定学习一下哈希表解题,哈希表的原理主要是解决分类问题,hash表是介于链表和二叉树之间的一种中间结构。链表使用十分方便,但是数据查找十分麻烦;二叉树中的数据严格有序,但是这是以多一个指针作为代价的结果。hash表既满足了数据的查找方便,同时不占用太多的内容空间,使用也十分方便。
定义ha...
分类:
其他好文 时间:
2015-07-07 22:50:31
阅读次数:
189
最近刷Leetcode发现凡是找字符串中重复字符或者数组中找重复数据的时候就不知道从何下手了。
所以决定学习一下哈希表解题,哈希表的原理主要是解决分类问题,hash表是介于链表和二叉树之间的一种中间结构。链表使用十分方便,但是数据查找十分麻烦;二叉树中的数据严格有序,但是这是以多一个指针作为代价的结果。hash表既满足了数据的查找方便,同时不占用太多的内容空间,使用也十分方便。
定义ha...
分类:
其他好文 时间:
2015-07-07 22:49:44
阅读次数:
198