数据结构
以前的一些基础内容
LUHTB
Let's hope tomorrow's better
展开
-
KMP算法的总结
(1).KMP的作用 用于字符串匹配,用于查找一个字符串是否是另一个字符串的子串,可以返回出现的次数以及出现的位置。(2).KMP的模板#include <stdio.h>#include <string.h>#include <stdlib.h>using namespace std;char s1[110];char s2[110];int Next...原创 2018-05-11 20:37:11 · 220 阅读 · 0 评论 -
字典树的总结
(1)字典树,又称单词查找树,Trie树,是一种树形结构,哈希表的一个变种。用于统计,排序和保存大量的字符串(也可以保存其的)。优点就是利用公共的前缀来节约存储空间。在这举个简单的例子:比如说我们想储存3个单词,nyist、nyistacm、nyisttc。如果只是单纯的按照以前的字符数组存储的思路来存储的话,那么我们需要定义三个字符串数组。但是如果我们用字典树的话,只需要定义一个树就可以了。在这...原创 2018-05-11 20:44:13 · 190 阅读 · 0 评论 -
数论知识总结
一、素数筛法void is_prime(int n){int vst[N];int prime[N];memset(vst, 0, sizeof(vst));vst[0] = vst[1] = 1;int num = 0;for(int i = 2; i <= n; i++){if(!vst[i]){prime[num++] = i;for(int j = i +...原创 2018-05-23 21:58:50 · 215 阅读 · 0 评论 -
线段树模板总结
线段树: 什么是线段树? 线段树是一种二叉搜索树,与区间树相似,它将一个区间划分成一些单元区间,每个单元区间对应线段树中的一个叶结点。 性质:对于线段树中的每一个非叶子节点[a,b],它的左儿子表示的区间为[a,(a+b)/2],右儿子表示的区间为[(a+b)/2+1,b]。因此线段树是平衡二叉树,最后的子节点数目为N,即整个线段区间的长度。 线段树单点更新模板 /...原创 2018-06-19 13:43:46 · 190 阅读 · 0 评论