《STL源码剖析》之hashtable

hashtable即散列表,也叫哈希表,它对元素的插入、删除和访问操作具有常数时间复杂度的表现,这种表现不依赖于输入元素的随机性。

1 哈希函数的作用概述

假如使用哈希存储数据,且该所有的数据是16-bits且不带正负号,范围是0~65535,那么使用一个array就可以满足上述期望。具体操作:
  • 首先配置一个array,大小为65536,并把所有元素的值初始化为0;每个元素的值为元素出现的次数。


  • 如果插入元素i,那么就执行++A[i];
  • 如果删除元素i,那么就执行--A[i];
  • 如果访问元素i,那么就执行A[i]。

上述操作时间复杂度均为常数时间,这种解法的额外负担是array的空间和初始化时间。且这个解法存在两种问题:

  • 如果元素是32-bits,那么array的大小为2的32次方,即4GB,占用空间实在是太大了;
  • 如果元素的类型是字符串(或其他)而非整数,将不能作为array的索引

第一个问题是实实在在存在的问题,难以解决;第二个问题可通过把字符串转换为ASII来解决,但是仍可能会产生巨大的数字,比如"jjhou"的索引是:


这太不切实际了,更长的字符串会导致更大的数字,这就回归到第一个问题:array的大小可能会巨大。


为解决上述array空间巨大的问题,我们使用

数据集介绍:垃圾分类检测数据集 一、基础信息 数据集名称:垃圾分类检测数据集 图片数量: 训练集:2,817张图片 验证集:621张图片 测试集:317张图片 总计:3,755张图片 分类类别: - 金属:常见的金属垃圾材料。 - 纸板:纸板类垃圾,如包装盒等。 - 塑料:塑料类垃圾,如瓶子、容器等。 标注格式: YOLO格式,包含边界框和类别标签,适用于目标检测任务。 数据格式:图片来源于实际场景,格式为常见图像格式(如JPEG/PNG)。 二、适用场景 智能垃圾回收系统开发: 数据集支持目标检测任务,帮助构建能够自动识别和分类垃圾材料的AI模型,用于自动化废物分类和回收系统。 环境监测与废物管理: 集成至监控系统或机器人中,实时检测垃圾并分类,提升废物处理效率和环保水平。 学术研究与教育: 支持计算机视觉与环保领域的交叉研究,用于教学、实验和论文发表。 三、数据集优势 类别覆盖全面: 包含三种常见垃圾材料类别,覆盖日常生活中主要的可回收物类型,具有实际应用价值。 标注精准可靠: 采用YOLO标注格式,边界框定位精确,类别标签准确,便于模型直接训练和使用。 数据量适中合理: 训练集、验证集和测试集分布均衡,提供足够样本用于模型学习和评估。 任务适配性强: 标注兼容主流深度学习框架(如YOLO等),可直接用于目标检测任务,支持垃圾检测相关应用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值