|算法讨论|Hash表 学习笔记
来源:互联网 发布:金川公司网络学校 编辑:程序博客网 时间:2024/06/05 12:04
题目
模板及讲解
哈希表的基本操作
程序实现输入n,m,分别表示有n个数要插入,有m个询问
每个询问包含一个整数,如果在Hash表里,就输出”True.”,否则输出”False.”
#include<cstdio> #include<algorithm> #include<cstring> #define ms(i,j) memset(i,j, sizeof i); using namespace std; const int empt = 100000000;//空的hash表置为inf const int p = 13;//hash表大小 int A[13];//hash表 void initI()//初始化 { for (int i=1;i<=p;i++) A[i] = empt; } int h(int key)//hash函数 { return key % p; } int posI(int key)//定位,找到一个位置 { int o = h(key); int i = 0; while (i<p&&A[(o+i)%p]!=key&&A[(o+i)%p]!=empt) i++; return (o+i)%p; } void insertI(int key)//插入 { int x = posI(key); A[x] = key; } bool checkI(int key)//查找 { int x = posI(key); if (A[x]==key) return true; return false; } int main() { initI(); int n,m; scanf("%d%d", &n, &m); for (int i=1;i<=n;i++) { int xi; scanf("%d", &xi); insertI(xi); } for (int i=1;i<=m;i++) { int xi; scanf("%d", &xi); if (checkI(xi)) printf("True.\n"); else printf("False.\n"); } return 0; }
0 0
- |算法讨论|Hash表 学习笔记
- hash算法学习笔记
- Hash算法学习笔记
- |算法讨论|KMP 学习笔记
- |算法讨论|LCA 学习笔记
- |算法讨论|树链剖分 学习笔记
- |算法讨论|RMQ 学习笔记
- Hash表算法笔记
- |算法讨论|贪心算法 学习笔记
- |算法讨论|贪心算法 学习笔记
- Hash表算法学习
- |算法讨论|数论数学 学习笔记
- |算法讨论|平衡树 学习笔记
- |算法讨论|拓扑排序 学习笔记
- |算法讨论|2-SAT 学习笔记
- |算法讨论|AC自动机 学习笔记
- |算法讨论|差分约束 学习笔记
- |算法讨论|可并堆 学习笔记
- 括号配对
- Git教程
- nginx源码学习(三)
- Decision Tree决策树
- Java排序之冒泡排序
- |算法讨论|Hash表 学习笔记
- php 遍历指定文件夹下的文件并删除
- 重新解读HoG 和PHoG (pyramid HoG)
- 选择排序,冒泡排序,快速排序(从小到大)
- 公式加技巧
- C++常见错误
- 指针入门
- Trie
- “OpenGL.error.NullFunctionError: Attempt to call an undefined function”解决方案