登录社区云,与社区用户共同成长
邀请您加入社区
iNeuOS_AiInsight·数智灵鉴是一个面向企业场景的智能数据应用平台。围绕“会问、会查、会算、会画、会总结”的目标,平台提供技能、数据源、知识库、提示词、模型管理、工作流、应用程序等完整能力。既支持业务人员快速使用,也支持技术团队持续沉淀方法、封装流程、治理数据资产。
本文总结了哈希表的学习和应用过程。作者通过4天分散学习,完成了8道哈希表相关题目,涵盖基础哈希和前缀和+哈希表两类题型。学习过程分为三个阶段:最初对哈希表仅停留在概念层面;中期在实践中踩坑,遇到容器选择、数组比较等问题;后期终于理解哈希表本质是空间换时间,掌握其三种主要用途(判断存在性、统计频次、分组)及对应容器选择原则。文中详细分析了典型题目解法,如两数之和的哈希优化、字符重排的数组模拟技巧等,
哈希表是一种基于哈希函数的键值对容器,在 C++ 中主要通过实现。它通过哈希函数将键映射到桶(bucket)中,实现平均 $O(1)$ 时间复杂度的插入、删除和查找操作。最坏情况下(如哈希冲突严重时),时间复杂度可能退化到 $O(n)$。哈希表不保证元素顺序,适合快速访问但不关心排序的场景。// 插入,平均 $O(1)$// 查找,平均 $O(1)$if (it!// 删除,平均 $O(1)$re
学习笔记,部分内容参考网络教学视频,侵删。
它通过微服务、容器化、动态调度和DevOps理念,实现高效、灵活的企业应用开发与运营,为数字化转型提供坚实支撑。未来,云原生将与AI、边缘计算、5G等技术深度融合,为企业提供更高效、更智能、更敏捷的数字化能力,推动业务创新和全球化发展。微服务数量多时,服务依赖和通信管理复杂。银行、保险和支付机构可以通过微服务将交易、风控、客户管理等模块独立部署,实现安全、高可用和快速迭代的金融系统。在云原生环境中
类中lambda“捕获自己”,本质是捕获指向当前类实例的引用/指针捕获this指针(非shared_ptr管理的类):lambda 持有当前类实例的裸指针(this捕获shared_ptr实例(类继承):lambda 持有当前类实例的强引用(shared_ptr<当前类>lambda 必须被类实例“长期持有”(如作为类的成员变量),才可能形成循环引用。若lambda仅是局部变量(函数内临时创建,不
异步任务调度提升系统吞吐与响应速度幂等、重试与持久化保障任务可靠执行监控闭环支撑任务调度优化与异常处理微服务分布式异步任务调度与可靠执行,使系统在高并发和复杂业务场景下保持高可用与稳定。通过在多语言实现中统一幂等、持久化和重试机制,结合监控闭环,互联网系统能够在压力峰值和局部失败场景中持续保障核心业务可用性。这篇关于分布式异步任务调度与可靠执行的工程实践分享,希望为你在微服务高可用架构设计中提供可
分布式锁保证多实例环境下关键资源互斥访问超时、重试和幂等机制确保高可用监控闭环支撑锁策略优化和故障预警微服务分布式锁与高并发控制,使系统在多实例高并发环境下保持数据一致性和核心业务可用性。通过在多语言实现中统一锁语义,结合超时、重试、幂等和监控闭环,互联网系统能够在复杂负载和突发请求场景下实现高可用与长期可维护性。这篇关于分布式锁与高并发控制的工程实践分享,希望为你在微服务高可用架构设计中提供可落
本文解析了LeetCode第11题"盛最多水的容器"的两种解法。题目要求在给定高度数组中找到两条线,使其与x轴构成的容器面积最大。暴力解法通过双重循环枚举所有组合,时间复杂度O(n²)。更优的双指针解法从数组两端向中间移动,每次移动较短板的指针,时间复杂度优化至O(n)。文章详细阐述了双指针的贪心策略原理,并提供了C++代码实现,通过示例验证了算法的正确性,最终得出双指针法是解
本文介绍了C++11中unordered系列关联式容器,重点分析unordered_map的实现原理与使用方式。unordered_map基于哈希表实现,提供O(1)平均复杂度的查询效率,相比红黑树结构的map在查找性能上更具优势。文章详细讲解了unordered_map的构造方法、容量管理、迭代器使用规则、元素访问接口以及增删改查操作,特别强调了哈希表的扩容机制对迭代器有效性的影响。通过对比op
set容器、map容器、迭代器、auto关键字
代码里那个ADC采样序列的配置有坑,触发源必须和PWM同步,否则采样的电压电流全是飘的。光伏并网逆变器设计方案,附有相关的matlab电路文件,以及DSP的程序代码,方案、仿真文件、代码三者结合使用效果好,事半功倍。光伏并网逆变器设计方案,附有相关的matlab电路文件,以及DSP的程序代码,方案、仿真文件、代码三者结合使用效果好,事半功倍。这个模块生成的PWM波要和DSP的ePWM模块对上号,注
本文分析了SGI-STL3.0哈希容器的实现框架,并模拟实现了unordered_set/map。主要内容包括:1) 哈希表核心结构分为三层:节点结构、哈希表实现和set/map适配器;2) 关键设计如ExtractKey提取器、指针数组buckets、分离的哈希函数和比较函数;3) 迭代器实现难点包括跨桶遍历和const迭代器处理;4) 模拟实现中解决了模板参数、友元声明、权限控制等技术问题;5
哈希表(两数之和)、动态规划/贪心(最大子数组和)、排序+双指针(三数之和)、对撞双指针(盛最多水的容器)。把这四种思想刻进脑子里,遇到大多数数组题都不会慌。刷题建议:先自己动手写一遍暴力解,再对比最优解的优化点,最后把代码默写三遍。别只看不写,面试时手撕代码拼的是肌肉记忆。免责声明:本文部分解题思路参考了力扣官方题解及社区优秀文章,相关视频链接均来自公开网络。若存在侵权问题,请联系删除。
本文深入探讨了C++ STL中关联式容器的底层实现,重点分析了红黑树和哈希表两种核心数据结构。文章首先介绍了红黑树派系(map/set)和哈希表派系(unordered_map/unordered_set)的特性差异,然后详细讲解了使用红黑树封装map/set的关键设计思想,包括模板参数设计、仿函数提取键值、迭代器实现等核心内容。 文章提供了完整的红黑树实现代码,包括结点定义、迭代器实现以及插入平
源码及框架分析、实现出复用哈希表的框架,并支持insert、支持iterator的实现、key不能修改的问题、map支持[]
本文介绍了C++11中unordered系列关联式容器的实现原理与封装方法。首先对比了红黑树容器与哈希容器的特性,指出unordered容器通过哈希表实现O(1)平均时间复杂度。随后详细讲解了哈希表的核心概念,包括哈希函数设计(直接定址法、除留余数法)、哈希冲突处理方法(开放定址法、链地址法)以及装填因子控制策略。最后展示了基于链地址法的哈希表实现,并封装成unordered_set和unorde
Lambda表达式是C++中的匿名函数对象,格式为捕获列表->返回值{函数体}。核心特点包括:1)可定义在函数内部;2)常用auto接收返回值;3)最简形式为[]{}。捕获列表支持显式(值/引用捕获)和隐式(=/&)两种方式,可通过mutable修改形参。其本质是编译器生成的仿函数类,实现了operator()重载。相比仿函数,lambda更简洁,适合临时使用场景,但需要保持状态的场景仍建议使用仿
我们完整吃透了有序关联容器与平衡树底层原理:set/map 依托红黑树实现,拥有天然有序、性能稳定、支持区间遍历的优势,但代价是每次增删查都维持 O(logn) 复杂度,在海量单点查询场景下性能不够极致。不关心顺序,只追求最快查找、最快插入、最快去重。。不同于 set/map 的红黑树底层,unordered 系列容器依托哈希表(Hash Table)实现,平均时间复杂度达到惊人的 O(1),是算
线性探测的缺陷是产生冲突的数据堆积在一块,这与其找下一个空位置有关系,因为找空位置的方式就是挨着往后逐个去找,因此二次探测为了避免该问题,找下一个空位置的方法为:H_i = (H_0 + i^2 )% m, 或者:H_i = (H_0 - i^2 )% m。桶的个数是一定的,随着元素的不断插入,每个桶中元素的个数不断增多,极端情况下,可能会导致一个桶中链表节点非常多,会影响的哈希表的性能,因此在一
在C++标准模板库(STL)中,关联容器是一类通过键(key)来组织和管理数据的容器,与、这类按位置访问的序列容器有着本质区别。关联容器主要分为两大类:基于红黑树实现的有序关联容器和基于哈希表实现的无序关联容器。本文聚焦于“Set”家族——,深入剖析它们的底层原理、完整API用法、核心差异、实战场景以及高频踩坑点,所有核心知识点与关键API均搭配可运行示例代码。四种Set容器均属于关联容器,核心差
摘要:随着大模型应用落地,软件测试领域出现新方向——大模型测试(LLM Testing),测试重点转向验证AI回答准确性、幻觉问题、稳定性等。面对海量测试数据,哈希表成为关键数据结构,用于测试数据去重、快速查询和版本关联分析。测试工程师需要掌握哈希表的核心能力(去重、快速查询、唯一标识),以应对AI测试中的数据管理挑战。从传统自动化测试到AI质量工程,测试对象和所需能力发生显著变化,数据处理和算法
在上一篇 我们彻底吃透了序列式容器。元素按插入顺序存储,依靠位置查找。但在真实业务开发和算法刷题中,有两类高频场景是序列容器完全无法高效解决的:1.需要自动去重、自动排序2.需要通过 key 快速映射 value,精准查找数据这时候,就必须使用关联式容器。set、map、unordered_set、unordered_map 是 C++ 开发的数据结构天花板,也是面试必考重难点:红黑树原理、哈希冲
我们学习了vector、list、deque三大序列式容器,元素顺序完全由插入顺序决定。本篇讲解关联式容器。关联式容器不以插入顺序存储元素,而是根据key键值有序关联容器(红黑树实现):set、multiset、map、multimap,key自动排序,查询时间复杂度O(logN)无序关联容器(哈希表实现):unordered_set、unordered_multiset、unordered_ma
Hash Collision(哈希冲突)无限/巨大数量的 key↓有限数量的 table 槽位所以哈希表必须设计冲突解决策略。链地址法(Separate Chaining)线性探测(Linear Probing)更一般的开放寻址(Open Addressing)
我用裸 Claude Code 踩过的坑,有 60% 源头都在这一步省掉了——需求没说清楚,Claude 就开始猜了,而它猜的方向往往会在你不知道的地方和别的模块打架。背后的逻辑是:长时间运行的单一 Agent 上下文会"腐化"——随着对话轮数增加,早期假设会被忘记,新的错误会越来越难发现。不是"尽量先写测试",不是"写完再补测试",是字面意义上的——如果发现子 Agent 在没有失败测试的情况下
TaskFlow 不是替代普通技能,而是补充:普通技能工具(锤子、螺丝刀)TaskFlow工作台(有抽屉存放半成品、有夹具固定工件)你可以用锤子(普通技能)敲钉子,但如果你要做复杂的家具(长时间工作流),就需要工作台(TaskFlow)来:存放半成品(状态持久化)固定工件(状态管理)等待胶水干(等待机制)分步骤完成(多步骤协调)
模型基于KDA混合线性注意力机制(Kimi Delta Attention)和注意力残差(Attention Residuals)技术构建,原生支持视觉理解,并拥有100万token上下文窗口,在保持顶尖能力的同时,将KV Cache压缩75%,长上下文解码速度最高提升6.3倍,大幅优化了训练与推理的效率及成本。例如,真武M890对Kimi K3模型架构的核心算子进行优化,显著提升推理的算力和带宽
本文介绍了C++中unordered系列关联式容器的哈希表实现原理。相比红黑树结构的关联式容器,哈希表通过哈希函数建立元素与存储位置的映射关系,实现O(1)的平均查找效率。文章详细阐述了哈希冲突的解决方法(开放定址法和链地址法),并提供了哈希表的具体实现代码,包括迭代器设计、扩容机制等关键技术点。同时介绍了位图和布隆过滤器两种哈希应用,位图适用于海量数据存在性判断,布隆过滤器则用于允许一定误判率的
PHP的所有数组本质上都是哈希表,但通过额外的双向链表实现了插入顺序的维护,同时对整数键做了特殊优化,兼顾了列表和字典的特性。这种设计让PHP数组极其灵活,能适应各种场景,但也带来了一定的性能开销。理解这一点后,你在使用数组时会更清晰:当需要快速按键访问时,它的效率很高;当需要频繁在中间插入/删除元素时,要知道这可能比在末尾操作更耗时(因为需要调整链表指针)。这种对底层的认知,能帮你写出更高效的P
本文介绍了哈希表的两种实现方式:基础版本和泛型版本。基础版本使用数组+链表结构(开散列法)解决哈希冲突,包含put()、get()、resize()等方法实现,通过负载因子控制扩容。泛型版本引入Person类示范引用类型的处理,覆盖equals()和hashCode()方法,支持任意键值对存储。两种实现都采用链表头插法和动态扩容机制,完整展示了哈希表的核心实现逻辑。
本文深度解析哈希表原理、冲突解决、STL实现及性能优化,指导工业级高效应用。
哈希表的使用、模拟实现哈希冲突的概念及其解决
可上练习华子OD、大厂真题绿色聊天软件戳od1441了解算法冲刺训练(备注【CSDN】否则不通过)
前面我们已经学习过哈希表的底层结构,本期就让我们结合STL源码的内容和以往实现的哈希表对unordered_map和unordered_set进行封装。
想要学会哈希表和STL的unordered_set和unordered_map?看这一篇文章就够了!万字详解
本文详细介绍了哈希表的实现原理和代码实现,主要包括以下内容: 哈希表数据结构设计: 采用开散列方式实现哈希表 使用vector存储哈希节点指针 包含插入、查找、删除等基本操作 关键实现细节: 模板参数控制,支持unordered_map和unordered_set 哈希函数设计,特别处理string类型 迭代器实现,包括++操作符重载 负载因子控制和动态扩容机制 完整代码实现: 哈希表主体代码 迭
在中,Hashtable(哈希表) 类表示根据键的哈希代码进行组织的键(key)/值(value)对的集合,可以使用键来访问集合中的元素。也就是说当您需要使用键来访问指定元素时,可以选择使用哈希表。C#Hashtable(哈希表)例程,涵盖了哈希表的基本操作、属性访问、线程同步以及性能优化。该程序演示了如何创建哈希表、添加/删除元素、查找元素、遍历集合、处理键冲突,并介绍了其在实际开发中的典型使用
本文围绕哈希表实现展开,核心介绍其“数组+哈希函数”的本质的设计,解析实现过程中的关键要点。哈希表通过哈希函数将key映射为数组下标,实现平均O(1)的增删查效率,核心需解决哈希冲突与扩容问题。常用冲突解决方案为链地址法(拉链法),将冲突元素挂在对应下标链表后;当负载因子达到阈值时,采用2倍扩容并重新哈希元素。文章还涵盖哈希函数设计、通用哈希表封装思路,以及实现中的注意事项,帮助读者吃透哈希表底层
哈希表通关八题:从两数之和到LRU缓存 本文整理了8道经典哈希表面试题,涵盖高频考点: 两数之和:哈希表存储元素与索引,查找补数 存在重复元素:集合快速判断重复 数组交集:哈希集合去重求交 字母异位词:字符计数数组比较 首个唯一字符:两次遍历+哈希计数 字母异位词分组:排序字符串作为哈希键 LRU缓存:哈希表+双向链表实现O(1)操作 无重复子串:滑动窗口+哈希记录位置 每道题提供: 解题思路与图
本文详细讲解了Java中的7种位运算符及其应用场景。主要内容包括: 位运算基础:Java整数以补码存储,位运算直接操作二进制位,执行效率高。 7种位运算符详解: &按位与:用于哈希寻址、奇偶判断、掩码过滤 |按位或:用于凑2的幂次方、权限合并、默认值设置 ^异或:用于变量交换、哈希扰动、简单加密 ~取反:用于数值取反、状态位清除 实战应用场景: HashMap底层大量使用位运算优化性能 权
手写哈希表不是最终目的,我们的目标是像真正的 STL 那样,让和都能。