哈希集合-----从零开始的数据结构学习

一. 定义

"哈希集合 " 是一种基于哈希表实现的无序集合,用于存储互不相同的元素,支持高效的插入、删除和查找操作(平均 O(1) 时间复杂度)。

哈希表的键实际上 就是 "哈希集合"

哈希集合中,哈希标的元素不处理,用bool值来代替(或者说来判断)----占位符

二.代码:

cpp 复制代码
#include<iostream>
#include<unordered_map>
using namespace std;

template<typename K>
class MyhashSet{
private:
    unordered_map<K,bool> map;

public:
    void add(const K& key){
        map[key] = true;
    }

    void remove(const K& key){
        map.erase(key);
    }

    bool contains(const K& key){
        return map.find(key) != map.end();
    }

    int size()const{
        return map.size();
    }
};

本质上: 操纵哈希集合,就是操纵哈希表的键。

三. stl 哈希集合

unordered_set<数据类型> 变量名

详细请看:STL---常见数据结构总结-CSDN博客

相关推荐
罗西的思考11 小时前
机器人 / 强化学习】HIL-SERL:人类在环驱动的具身智能进化框架
人工智能·算法·机器学习
CSharp精选营14 小时前
关系型 vs 非关系型:从原理到选型,一文搞定数据库核心分类
数据结构·nosql·关系型数据库·非关系型数据库·技术选型
美团技术团队14 小时前
LongCat 开源 VitaBench 2.0:长期动态智能体基准新标杆
人工智能·算法
To_OC1 天前
LC 207 课程表:刚学图论那会儿,我连这是拓扑排序都没看出来
javascript·算法·leetcode
To_OC1 天前
LC 208 实现 Trie 前缀树:曾被名字劝退,写完发现是送分题
javascript·算法·leetcode
BadBadBad__AK1 天前
线段树维护区间 k 次方和
c++·数学·算法·stl
_清歌2 天前
DSpark 深度解读:DeepSeek-V4 如何用「半自回归」把推理速度提升 85%
算法
统计实现局2 天前
SVD 的三步走:双对角化、Givens 收敛、排序
算法
躬行见万象2 天前
《VLA 系列》UniLab 强化训练 | G1 机器人 |复现
算法