负载因子:负载因子是哈希表中已占用的桶数与总桶数之比。当负载因子达到一定阈值时,哈希表会自动扩容,以保持性能。 扩容:当哈希表的负载因子达到阈值时,哈希表会创建一个更大的数组,并将所有键值对重新插入新数组。这样可以减少冲突,提高性能。 C#的Hashtable类使用了链地址法和扩容机制来实现哈希表。你可以在Syst...
/* * 字典 * * 每个字典使用两个哈希表,用于实现渐进式 rehash */typedef struct dict { // 特定于类型的处理函数 dictType *type; // 类型处理函数的私有数据 void *privdata; // 哈希表(2 个) dictht ht[2]; // 记录 rehash 进度的标志,值为 -1 表示 rehash 未进行 int rehashidx; // 当前...
本视频主要讲解了字典数据结构的底层实现原理,包括如何根据键查询对应的值。首先介绍了存储时键通过哈希方法转换成数组索引的过程,然后详细阐述了查询时如何根据键再次计算哈希值,并在数组中查找对应的值。如果遇到哈希冲突,即不同键对应相同的数组索引,需要进一步比较键值以确定是否为所查询的对象。视频还提到了自定义对...
redis使用过什么数据结构?哈希表存入数据的命令?redis哈希表底层的实现原理? redis的集群和分布式式是怎么做的?谈谈你的理解 Mysql的索引有用过吗?介绍一下索引 为什么使用B+树做索引?查询10亿次要进行几次搜索。(玛德,我听成11次了) 联合索引有了解过吗?联合索引abc,查询用到了where b = 1 and c = 2有使...
说一下C++中如何实现多态的? 那你说的父类指针指向子类引用,解释一下底层是怎么实现的(为什么能找到子类对应的func)? 智能指针有用过吗,说一下他们的实现原理? shared_ptr的计数器底层是怎么实现的?(我不知道,面试官说没关系按照你自己的理解你会怎么设计,我就回答,用一个哈希表,存放资源地址和对应的指针) ...