哈希表(散列表) 一、概述 根据设定的 哈希函数H(key) 和 处理冲突的方法 将一组关键字影像到一个有限的连续的地址集(区间)上,并以关键字在地址集中的“像”作为记录在表中的存储位置,这种表便成为 哈希表 ,这一映像过程称为哈希造表或 散列 ,所得存储位置称 哈希地址 或 散列地址 。 上面所提 ...
分类:
其他好文 时间:
2020-04-16 00:17:33
阅读次数:
90
—— 索引就像书的目录,是为了提高数据查询的效率而存在。 索引的常见模型: 哈希表、有序数组、搜索树 哈希表 哈希表是一种以键-值(key-value)存储数据的结构,输入待查找的值key,就可以找到其对应的值Value。其思路是,把值放在数组里,用一个哈希函数把key换算成一个确定的位置,然后把v ...
分类:
其他好文 时间:
2020-04-13 00:26:36
阅读次数:
89
哈希表的存储结构 1. 开放寻址法 2. 拉链法 memset是按字节来初始化的,int中有四个字节,初始化成0x3f就是将每个字节都初始化成0x3f,所以每个int就是 0x3f3f3f3f 通过哈希函数h(x) 这个函数可以映射到某个位置 1. x mod 10^5 2. 冲突,两个不一样的数但 ...
分类:
编程语言 时间:
2020-04-11 23:50:00
阅读次数:
86
复制粘贴自: https://www.e-learn.cn/content/redis/2344485, 点击链接访问原文 仅供个人学习参考之用, 高级开发不得不懂的Redis Cluster数据分片机制 Redis 集群简介 Redis Cluster 是 Redis 的分布式解决方案,在 3.0 ...
分类:
其他好文 时间:
2020-04-11 22:14:27
阅读次数:
77
reference : "CF上neal的博客" 总所周知, 和 由于树的结构,的单次操作是 $O(\log n)$ 的。 有没有更快的 STL 可以代替它们呢? 在 c++11 里面, 和 就可以做到单次操作 $O(1)$(基于哈希)。 但在 Codeforces 的比赛上面,尽量别用 。 一是因 ...
分类:
其他好文 时间:
2020-04-09 15:27:20
阅读次数:
92
[TOC] 两数之和 给定一个整数数组nums和一个目标值target,请你在该数组中找出和为目标值的那两个整数,并返回他们的 数组下标 。 你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。 示例: 暴力法 不用任何高难度算法,两遍循环暴力解法。当然,这种解法的效率很低 ...
分类:
其他好文 时间:
2020-04-09 00:35:33
阅读次数:
81
哈希函数要做的事情是给一个任意大小的数据生成出一个固定长度的数据,作为它的映射。所谓映射就是一一对应。一个可靠的哈希算法要满足三点。 第一是安全,给定数据 M 容易算出哈希值 X ,而给定 X 不能算出 M ,或者说哈希算法应该是一个单向算法。 第二是独一无二,两个不同的数据,要拥有不相同的哈希。 ...
分类:
编程语言 时间:
2020-04-06 17:35:06
阅读次数:
96
hash 函数 总结 在SGI STL中 hash 表的实现是采用拉链法,其中用到了哈希函数,哈希函数的作用是把元素键值映射到对应的桶子里面,一般哈希值是键值对桶子数取余。 在 SGI STL提供的哈希函数是有限的,只支持特定的元素类型,若用户需要使用其他类型的哈希函数,则必须自行定义。定义的时候注 ...
分类:
其他好文 时间:
2020-03-31 22:41:34
阅读次数:
72
哈希表由于其效率的优越性应用范围非常广泛,而哈希表的效率由哈希函数决定。哈希函数的构造方法有很多种,本文介绍了七种常用的构造方法,并分析了这几种方法的优劣及适用范围。 ...
分类:
其他好文 时间:
2020-03-31 21:19:17
阅读次数:
621
索引:是为了提高数据查询的效率 常见模型: 哈希表(以键值对key-value存储数据的结构) 适应场景:哈希表这种结构适用于只有等值查询的场景 思路:把值放在数组里,用一个哈希函数把key换算成一个确定的位置,然后把value放在数组的这个位置 冲突的解决办法:链表 有序数组 有序数组索引只适用于 ...
分类:
数据库 时间:
2020-03-30 16:19:38
阅读次数:
77