数据结构:一般哈希

news/2024/11/15 6:01:12/

数据结构:一般哈希

    • 题目描述
    • 参考代码
      • 拉链法
      • 开放寻址法

题目描述

在这里插入图片描述
输入样例

5
I 1
I 2
I 3
Q 2
Q 5

输出样例

Yes
No

参考代码

拉链法

#include <iostream>
#include <cstring>
using namespace std;const int N = 100003;int h[N], e[N], ne[N], idx;void insert(int x)
{int k = (x % N + N) % N;e[idx] = x, ne[idx] = h[k], h[k] = idx ++;
}bool find(int x)
{int k = (x % N + N) % N;for (int i = h[k]; i != -1; i = ne[i])if (e[i] == x)return true;return false;
}int main()
{int n;scanf("%d", &n);memset(h, -1, sizeof h);while (n --){char op[2];int x;scanf("%s%d", op, &x);if (*op == 'I') insert(x);else{if (find(x)) puts("Yes");else puts("No");}}return 0;
}

开放寻址法

#include <iostream>
#include <cstring>
using namespace std;const int N = 200003, null = 0x3f3f3f3f;int h[N];int find(int x)
{int k = (x % N + N) % N;while (h[k] != null && h[k] != x){k ++;if (k == N) k = 0;}return k;
}int main()
{int n;scanf("%d", &n);memset(h, 0x3f, sizeof h);	// 每一个字节都是0x3f,int类型是4字节,所以是0x3f3f3f3fwhile (n --){char op[2];int x;scanf("%s%d", op, &x);int k = find(x);if (*op == 'I') h[k] = x;else{if (h[k] != null) puts("Yes");else puts("No");}}return 0;
}

http://www.ppmy.cn/news/1467066.html

相关文章

ora06550第1行,第7列:PLS-00215:字符串长度限制在范围(1....32767)

pl/sql时遇到的 把你的每个数据类型确定好大小 原本&#xff1a; 改成

Github 2024-05-29 C开源项目日报 Top10

根据Github Trendings的统计,今日(2024-05-29统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量C项目10C++项目3PHP项目1PHP:流行的Web开发脚本语言 创建周期:4710 天开发语言:C, PHP协议类型:OtherStar数量:37340 个Fork数量:7657 次…

关于nginx的配置参数

关于nginx的配置参数 nginx参考配置参数 #宝塔服务器PHP项目配置文件 server {listen 80;server_name 服务器公网地址;index index.php index.html index.htm default.php default.htm default.html;root /root/peopledata/front/dist/;#CERT-APPLY-CHECK--START# 用于SSL证书…

【概率论】第七章 参数估计

参数估计 一、点估计1.1 矩估计法1.2 最大似然估计法 二、估计量的评选标准2.1 问题的提出2.2 无偏性2.3 有效性2.4 相合性 三、区间估计3.1 概念 四、正态总体的均值与方差的区间估计4.1 单个总体的情况4.2 两个正态总体的情况 五、01分布参数的区间估计六、单侧置信区间6.1 问…

MySQL数据库开发设计规范总结

MySQL数据库开发设计规范总结 概述MySQL数据库设计规范设计规范-库设计规范-表、列设计规范-索引跟索引相关的SQL优化设计规范-视图设计规范-存储过程设计规范-触发器设计规范-安全规范 数据库架构设计原则一、高可用架构选择二、扩展性三、安全性策略四、数据完整性策略五、规…

FPGA - 4位数值比较器电路

4位数值比较器电路 描述 某4位数值比较器的功能表如下。 请用Verilog语言采用门级描述方式&#xff0c;实现此4位数值比较器 输入描述&#xff1a; input [3:0] A , input [3:0] B 输出描述&#xff1a; output wire…

JS-Lodash工具库

文档&#xff1a;Lodash Documentation orderBy函数&#xff1a;根据条件进行排序 注&#xff1a;第一个是要排序的数组&#xff0c;第二个是根据什么字段进行排序&#xff0c;第三个是排序的方式&#xff08;desc倒序&#xff09; 安装方式&#xff1a;Lodash npm i lodash…

3毛钱的QC协议芯片TYPE-C USB快充接口物理层IC

前言&#xff1a; 现在基本使TYPE-C打天下了。很多产品和TYPEC息息相关&#xff0c;如笔记本的电源接口&#xff0c;手机更不用说了&#xff0c;甚至电烙铁也使TYPE-C接口的了&#xff0c;很多涉及采用TYPE-C接口的快充接口&#xff0c;简单的可以用电阻欺骗快充头&#xff0c…