- 博客(4)
- 收藏
- 关注
原创 c++算法之KMP的实现
在KMP算法中,把字符串的匹配划分为两个阶段,第一个阶段是next数组的构造,也就是俗称的n数组,第二个阶段是真正的匹配过程,因为有了第一个阶段的预处理过程,能够防止出现字符串的回溯现象,其中特征数组next的构造是重点。int Kmplayer(char a[], char b[]) { int lengtha = strlen(a); int lengthb = strlen(b);...
2019-01-08 16:50:26
196
原创 图的拓扑排序基本思想(基于之前的博客给出的类
拓扑排序的思想很简单,对于一个有向图,首先找到一个入度为0的点,然后在这个有向图中删掉该点,更新其他结点的入度,在第二次循环中再次寻找一个入度为0的点,循环进行,知道找到了结点的最大值n个点即可完成拓扑排序,如果在此过程中某时刻未能找到入度为0的点,则拓扑排序失败。template<class EdgeType>bool Graph<EdgeType>...
2018-12-21 00:03:37
1913
原创 有向图的构建以及遍历(包括邻接矩阵以及图的基本函数)
#include<stack>#include<queue>#include"Edge.h"#define VISITED 1 //已经访问过#define UNVISITED 0 //未访问过#define AFFINITY 999999 //最大值using namespace std;template<class EdgeT...
2018-12-19 16:34:36
2112
原创 关于等价类的实现
//等价类就是对大量数据进行分类,同一个等价类元素拥有相同的root#include<iostream>using namespade std;class UFSets{private: int n; int *root; int *next; int *length;public: UFSets(int size) { n = size; ...
2018-12-19 16:12:43
1367
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人