![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
基础数据结构
7_26
我很勤劳,还没有添加简介
展开
-
HASH哈希表
HASH将一个庞大而又较为宽松的值域映射到一个小空间之内;最主要的部分是hash函数,写函数的时候主要要去考虑两个方面;首先是要把值域映射进hash数组里那么一小块,最后MOD一下就行了mod要去MOD质数,离2的整次幂尽可能的远;然后是要处理hash冲突,有两种方法,第一种拉链法第二种开放寻址法;代码原题是AcWing840 模拟散列表拉链法:(个人不太喜欢)原理见y总视频#include<iostream>#include<cstdio>#include&原创 2021-06-03 17:42:53 · 179 阅读 · 2 评论 -
TRIE字典树
TRIE本文参考题解acwingtrieTRIE用来储存和查找多个字符串,容量很大效率很高;下图是TRIE的原理,打了五角星的地方就表示有一个字符串在在那里结尾;代码先上代码等会再解释一些地方怎么写#include<iostream>#include<cstdio>using namespace std;const int N=100010;int trie[N][26],n,cnt[N],idx;char str[N];void insert(char *原创 2021-06-03 15:01:36 · 165 阅读 · 2 评论 -
邻接表储存图
做树的题时发现自己不太会领接表特别去查了点资料做个笔记每次输入三个参数,出发点,到达点,边权,边的编号按输入顺序来分配按上文举个例子第一次输入1,2,10然后to数组储存到达点2,w储存权值,next暂时没有,再把这条边的序号塞进head数组里面第二次输入1,3,7to数组储存3,w存7,然后next存head也就是第一条边顺便把第二条边也塞进head里如此往复之后,最后head数组里存的就是每个点出发的最后一条边,从head出发对于每个点取next就可以遍历整幅图;代码void add原创 2021-05-28 08:43:19 · 241 阅读 · 1 评论