学习笔记(acwing)
紫薯C菌
recording...
展开
-
2021-02-24
数据结构(二)Tire树高效地存储和查找字符串的集合的数据结构。1.存储在根节点之后像一棵树一样依次延伸,没有就创建,有就沿着走下去;例如我们存储abcdef,abdef,aced,bcdf,bcff,abc这些字符串,我们还需要在一个字符串结尾处标记来确认查找。如下图所示:2.查找例如查找aced,依次从根节点往下找都是存在的,而且结尾处有标记则查找到了;再例如查找abcf,我们从c找f这部是不存在的所以查找不了;例如查找abcd,虽然都能找到但结尾处没有标记所以查找不了。代码实现存储和原创 2021-02-24 18:31:01 · 116 阅读 · 0 评论 -
2021-02-20
数据结构单链表:邻接表作用是存储图和树我们用数组模拟链表即静态链表,因为速度快;而C++中的动态链表慢。双链表优化某些问题原创 2021-02-22 11:22:40 · 95 阅读 · 0 评论 -
2021-02-17
lowbit用法离散化一组数据范围很大但是个数却不是很多的时候,我们总不能暴力开一个包括所有范围的数组,这时我们需要用到映射,映射的过程即为离散化。做法:先去重vector<int> alls;sort(alls.begin(),alls.end()); //排序alls.erase(unique(alls.begin(),alls.end()),alls.end()); //去重...原创 2021-02-18 17:24:12 · 92 阅读 · 0 评论 -
2021-02-10
快速排序-分治1.确定分界点:q[l] q[r] q[(l+r)/2] q[random]2.*调整范围,使得左边一部分的数都<=分界点,右边部分的数都>=分界点3.递归处理左右两段使得两段排好序,也就排好了整体#include <iostream>#include <cstdio>using namespace std;const int N = 100010;int q[N];void quick_sort(int q[],int l,i原创 2021-02-13 20:54:53 · 81 阅读 · 0 评论