文章 2025-03-18 来自:开发者社区

【c++丨STL】基于红黑树模拟实现set和map(附源码)

前言 之前我们学习了红黑树以及STL中的set和map两种容器,本篇文章,基于之前实现的红黑树代码,我们将仿照SGI STL的实现方式,尝试对同一棵红黑树进行封装和一系列适配修改,模拟实现set和map两种容器。 建议大家掌握了红黑树以及set和map的使用之后,再来阅读本文,否则部分内容可能...

【c++丨STL】基于红黑树模拟实现set和map(附源码)
文章 2024-01-08 来自:开发者社区

数据结构之Map/Set讲解+硬核源码剖析(三)

数据结构之Map/Set讲解+硬核源码剖析(二)+https://developer.aliyun.com/article/14135712.其他当然还有其他方法,这里仅作了解即可 2. 除留余数法--(常用) 设散列表中允许的地址数为m,取一个不大于m,但最接近或者等于m的质数p作为除数,按照哈希函数: Hash(key) = key% p(p<=m),将关键码转换成哈希地址3. 平方取....

数据结构之Map/Set讲解+硬核源码剖析(三)
文章 2024-01-08 来自:开发者社区

数据结构之Map/Set讲解+硬核源码剖析(二)

数据结构之Map/Set讲解+硬核源码剖析(一)+https://developer.aliyun.com/article/1413569get和getOrDefault的源码// get也可以用来判断是否包含相应的key public V get(Object key) { TreeMap.Entry<K,V> p = getEntry(ke...

数据结构之Map/Set讲解+硬核源码剖析(二)
文章 2024-01-08 来自:开发者社区

数据结构之Map/Set讲解+硬核源码剖析(一)

"活着是为了活着本身而活着"作者:Mylvzi 文章主要内容:数据结构之Map/Set讲解+硬核源码剖析 一.搜索树1.概念 &nbsp;二叉搜索树又叫二叉排序树,他或者是一颗空树,或者是具有以下性质的树若它的左子树不为空,则左子树上所有节点的值都小于根节点的值若它的右子树不为空,则右子树上所有节点的值都大于根节点的值它的左右子树也分别为二叉搜索树简单来说,二叉搜索树上存储结点的值满足以下条件:....

数据结构之Map/Set讲解+硬核源码剖析(一)
文章 2023-11-01 来自:开发者社区

unordered_map和unordered_set的源码模拟实现

在源码中,这两个STL容器都是共用一个框架的所以,我们就用一个框架实现两个容器,代码细节都在注释上HashTable.h#pragma once #define _CRT_SECURE_NO_WARNINGS 1 #include <iostream> #include <vector> #include <string> #include <util.....

文章 2023-10-08 来自:开发者社区

java集合框架Set子接口之HashSet源码剖析

HashSetHashSet类实现了由哈希表(实际上是HashMap实例)支持的Set接口 , 底层采用HashMap来保存的数据 , 存在HashSet中的元素是无序且不重复的并且HashSet是线程不安全的 , 这种不重复其实是由HashMap实现的 , 所以HashSet的实现也是相对比较简单的 , 对于它的操作其实都是调用HashMap的方法来实现的HashSet类结构图HashSet基....

java集合框架Set子接口之HashSet源码剖析
文章 2023-06-16 来自:开发者社区

Sorted Set源码阅读

有序集合为何能同时支持点查询和范围查询?有序集合(Sorted Set)是 Redis 中一种重要的数据类型,它本身是集合类型,同时也可以支持集合中的元素带有权重,并按权重排序。曾经就有一位从事 Redis 开发的同学问我:为什么 Sorted Set 能同时提供以下两种操作 接口,以及它们的复杂度分别是 O(logN)+M 和 O(1) 呢?ZRANGEBYSCORE:按照元素权重返回一个范围....

Sorted Set源码阅读
文章 2023-06-16 来自:开发者社区

Sorted Set源码阅读,有序集合为何能同时支持点查询和范围查询

Sorted Set源码阅读有序集合为何能同时支持点查询和范围查询?有序集合(Sorted Set)是 Redis 中一种重要的数据类型,它本身是集合类型,同时也可以支持集合中的元素带有权重,并按权重排序。曾经就有一位从事 Redis 开发的同学问我:为什么 Sorted Set 能同时提供以下两种操作 接口,以及它们的复杂度分别是 O(logN)+M 和 O(1) 呢?ZRANGEBYSCOR....

Sorted Set源码阅读,有序集合为何能同时支持点查询和范围查询
文章 2023-04-15 来自:开发者社区

Vue $set 源码解析(保证你也能看懂)

首先我们看文档有这个例子下面是vue $set部分源码if (process.env.NODE_ENV !== 'production' && (isUndef(target) || isPrimitive(target)) ) { warn('Cannot set reactive property on undefined, null, or primit...

Vue $set 源码解析(保证你也能看懂)
文章 2023-04-14 来自:开发者社区

Vue $set 源码解析

首先我们看文档有这个例子function set (target: Array<any> | Object, key: any, val: any): any { if (process.env.NODE_ENV !== 'production' && (isUndef(target) || isPrimitive(target)) ) { w...

Vue $set 源码解析

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。