
数据结构
kmp, 并查集, 树状数组,线段树,tire树,哈希等
八荒被注册了
这个作者很懒,什么都没留下…
展开
-
数据结构课--并查集(标号法)
小谈并查集 并查集是什么: “并”和“查”是两个功能;“集”表示集合 解决一种把大量数据分块后查找某些数据是否是同一类的问题。 一般由find和join函数组成,这里咱们就详细讲一下课本P169kruscal算法里面的并查集(标号法) Kruscal最小生成树算法: 思路: 先将所有边从小到大排序 遍历所有边依次选出不在同一集合的最小边加入最小生成树 注: 判断是否在同一集合就用 “并查集”. 代码: #include <iostream> #include <cstdio原创 2021-11-29 16:11:37 · 783 阅读 · 0 评论 -
数据结构(大二)
哈夫曼树: /*示例 ****哈夫曼编码**** 请输入结点个数:8 输入这8个元素的权值(均为整形): 1:27 2:4 3:87 4:21 5:2 6:21 7:1 8:25 */ #include <stdio.h> #include <stdlib.h> #include <string.h> typedef struct { unsigned int weight; //用来存储各个结点的权值 unsigned int parent,LChil原创 2021-11-19 09:23:04 · 499 阅读 · 0 评论 -
KMP二三事
KMP那些事 众所周知,kmp是一个非常强大的数据结构 她的作用有:快速匹配字符串,以及关于循环节的一系列事。 下面主要介绍这两个功能 快速匹配字符串 咱们看这么两个字符串,分别为S,P串,用P去匹配S 基本步骤为: 1.先处理模板串p的ne[]数组,ne[i] 表示 p 的1~i 子串最大的前缀与后缀相等的位置如: ne[1] = 0, ne[2] = 0, ne[3] = 0, ne[4] = 1, ne[5] = 2, ne[6] = 3, ne[7] = 0, ne[8] = 0; 2.ne原创 2021-08-17 09:19:51 · 85 阅读 · 0 评论 -
并查集的理解与相关代码
并查集 应用场景:将有关系的元素放在一个集合中。 参考文章:并查集 相关例题:洛谷1551 相关代码: > // @ Time: 21/2/24 21:01 // @ Author: A Fei //并查集 const int N = 5001; int fa[N], rank[N]; //初始化 void init(int n) { for(int i=1; i<=n; i++) { fa[i] = i;//初始每个元素的父节点都是自己 rank[i] =原创 2021-02-24 21:08:15 · 77 阅读 · 0 评论