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

一. 定义

"哈希集合 " 是一种基于哈希表实现的无序集合,用于存储互不相同的元素,支持高效的插入、删除和查找操作(平均 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博客

相关推荐
劈星斩月7 分钟前
监督学习算法 之 决策树
学习·算法·决策树
学计算机的计算基11 分钟前
操作系统内存管理全解:虚拟内存、页表、COW、malloc、OOM一篇搞定
java·笔记·算法
tachibana216 分钟前
hot100 前 K 个高频元素(347)
java·数据结构·算法·leetcode
To_OC8 小时前
LC 131 分割回文串:刚学回溯时,我连怎么切字符串都想不明白
javascript·算法·leetcode
旖-旎9 小时前
LeetCode 518:零钱兑换||(完全背包)—— 题解
c++·算法·leetcode·动态规划·背包问题
To_OC10 小时前
LC 42 接雨水:暴力超时卡半天?前后缀数组一用就通了
javascript·算法·leetcode
delishcomcn11 小时前
AI视觉识别+分切算法:电化铝缺陷检测与裁切一体化解锁
人工智能·算法
触底反弹11 小时前
深入理解大模型采样:Temperature、Top-K、Top-P 的原理与实战
人工智能·算法·面试
雪碧聊技术11 小时前
力扣 LCR 091. 粉刷房子 —— 动态规划入门详解
算法·动态规划