哈希算法

童话ing6 小时前
数据结构·golang·哈希算法
【Golang】Golang Map数据结构底层原理Go map 底层是哈希表(Hash Table),采用「开放寻址 + 拉链法」混合实现(核心是拉链法),由 hmap(哈希表头部)和 bmap(桶)两大核心结构体支撑,我会从结构拆解 → 核心流程 → 增查示例 完整讲透。
handler018 小时前
c语言·数据结构·c++·笔记·算法·哈希算法·散列表
算法:字符串哈希#预处理 #前缀 #基础算法hash(s)=∑i=0n−1s[i]×pn−i−1(modM) hash(s) = \sum_{i=0}^{n-1} s[i] \times p^{n-i-1} \pmod{M} hash(s)=i=0∑n−1s[i]×pn−i−1(modM)
cui_ruicheng11 小时前
数据结构·c++·算法·哈希算法
C++ 数据结构进阶:哈希表原理哈希(又称散列)是一种高效的数据组织方式。其名称暗示了数据的分散存储特性,其核心原理是通过哈希函数建立关键字Key与存储位置之间的映射关系。这种机制使得查找操作时,只需通过哈希函数快速计算出Key对应的存储位置即可完成检索
我星期八休息1 天前
开发语言·数据结构·c++·算法·哈希算法·散列表
深入理解哈希表目录前言一、哈希表的核心概念与基础思想1.1 什么是哈希1.2 直接定址法与优缺点二、哈希表的三大核心要素
福楠1 天前
开发语言·c++·哈希算法
C++ | 哈希的应用哈希的核心应用:位图(bitset)与布隆过滤器(Bloom Filter)。位图(bitset)是哈希的基础轻量实现,布隆过滤器是哈希 + 位图的经典组合优化,二者均基于哈希映射思想解决海量数据的存在性判断 / 去重问题,是哈希在 “空间高效利用” 场景下的核心应用,且布隆过滤器完美弥补了位图的天然缺陷。
张李浩1 天前
leetcode·哈希算法·散列表
Leetcode 454 四数相加II 采用哈希表解决为什么想到用哈希,因为时间复杂度要求N^2, 思路:遍历A和B数组,找到a+b的所有可能,然后遍历C和D数组找到-(a+b)的所有可能,并用hash_map记录-(a+b)出现的次数,得到最终结果
月明长歌1 天前
算法·leetcode·哈希算法
【码道初阶-Hot100】LeetCode 560. 和为 K 的子数组:从前缀和到哈希计数,彻底讲透为什么“统计前缀和”就等价于统计子数组个数LeetCode 560. 和为 K 的子数组(Subarray Sum Equals K) 是前缀和题目中的经典代表,也是面试中高频出现的一道题。很多人第一次看到这题时,最容易产生两个疑问:
Frostnova丶1 天前
算法·leetcode·哈希算法
(10)LeetCode 560. 和为K的子数组给你一个整数数组 nums 和一个整数 k,请你统计并返回该数组中和为 k 的连续子数组的个数。示例 1:
喵喵蒻葉睦1 天前
java·算法·leetcode·哈希算法·散列表·滑动窗口
力扣 hot100 最小覆盖子串 哈希表 滑动窗口 Java 题解以数组 intervals 表示若干个区间的集合,其中单个区间为 intervals[i] = [starti, endi] 。请你合并所有重叠的区间,并返回 一个不重叠的区间数组,该数组需恰好覆盖输入中的所有区间 。
LSL666_2 天前
redis·算法·哈希算法·数据类型
Redis值数据类型——hash获取指定 hash 的单个字段值查看字段是否存在,当字段不存在时赋值,类似HSET(返回1),区别在于如果字段已经存在,该命令不执行任何操作(返回0)。
liuyao_xianhui2 天前
linux·数据结构·c++·算法·动态规划·哈希算法·散列表
优选算法_丢失的数字_位运算_C++我们要找到一个没有的数字,先把nums存入hash表中,对比缺失的数字是哪个算法优化:在对比hash表的时候可以使用二分查找
奔跑吧邓邓子2 天前
算法·性能优化·哈希算法·hash·理论到实战
Hash算法性能优化:从理论到实战的飞跃Hash 算法,又被称为散列算法,是一种能够把任意长度的输入数据,通过特定的数学运算,转换为固定长度输出的算法 。这个固定长度的输出结果,我们通常将其称为 “哈希值”“散列值” 或者 “消息摘要”。
菜鸡儿齐2 天前
学习·哈希算法·散列表
ConcurrentHashMap源码学习如果n的范围在0到Integer.MAX_VALUE之间,返回n。如果小于0,返回0;如果大于Integer.MAX_VALUE,返回Integer.MAX_VALUE。
月明长歌2 天前
java·算法·leetcode·哈希算法
【码道初阶-Hot100】LeetCode 3. 无重复字符的最长子串:从错误直觉到滑动窗口,彻底讲透为什么必须判断 `map.get(c) >= left`LeetCode 3. 无重复字符的最长子串(Longest Substring Without Repeating Characters) 是滑动窗口题目的经典入门题。题目本身不复杂,但真正容易卡住人的地方并不是代码长度,而是几个关键理解点:
小王不爱笑1322 天前
java·开发语言·哈希算法
Java Map 三大核心实现类详解:HashMap、TreeMap、HashtableHashMap 的底层是「哈希桶数组」,每个桶对应一个链表 / 红黑树,核心结构如下:HashMap 允许 key 为 null,底层会将 null 键的哈希值固定为 0,存入数组下标 0 的桶中:
ccLianLian3 天前
算法·哈希算法
算法·字符串哈希注意:s = '0' + s;// 0,n+1
_dindong3 天前
数据结构·c++·算法·哈希算法
【单调栈/队列&并查集&字符串哈希&Tire树】习题集锦目录单调栈1. 【模板】单调栈2. 发射站3. Largest Rectangle in a Histogram
喵喵蒻葉睦3 天前
java·数据结构·算法·leetcode·前缀和·哈希算法
力扣 hot100 和为K的子数组 哈希&前缀和给你一个整数数组 nums 和一个整数 k ,请你统计并返回 该数组中和为 k 的子数组的个数 。子数组是数组中元素的连续非空序列。
一叶落4383 天前
c语言·数据结构·算法·leetcode·哈希算法
36. 有效的数独(Valid Sudoku)题解(C语言)判断一个 9×9 的数独是否有效。只需要根据以下规则验证已经填入的数字是否有效即可:数字 1-9 在每一行只能出现一次;
玛卡巴卡ldf3 天前
数据结构·算法·leetcode·哈希算法
【LeetCode 手撕算法】(滑动窗口) 3-无重复字符的最长子串、438-找到字符串中所有字母异位词给定一个字符串 s ,请你找出其中不含有重复字符的最长子串的长度。示例 1输入: s = "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。注意 "bca" 和 "cab" 也是正确答案。