转自:byvoid:有向图强连通分量的Tarjan算法 Tarjan算法是基于对图深度优先搜索的算法,每个强连通分量为搜索树中的一棵子树。搜索时,把当前搜索树中未处理的节点加入一个堆栈,回溯时可以判断栈顶到栈中的所有节点是否为一个强连通分量。 有两个概念:1.时间戳,2.追溯值 时间戳是dfs遍历节 ...
分类:
编程语言 时间:
2018-06-24 21:06:35
阅读次数:
177
#include #include #include #include #include #include using namespace std; const int maxn=2e4+2; const int maxm=2e4+2; const int inf=0x3f3f3f3f; int n... ...
分类:
其他好文 时间:
2018-06-17 16:00:35
阅读次数:
175
写在前面,四叉树和八叉树就是2D和3D的“二分法”,搜索过程与二叉树搜索也类似,二叉树中是将数组sort后存入二叉树中,从而在查找中实现时间复杂度为log2;四叉树/八叉树是按平面/空间范围划分有序node,将所有points(坐标已知)放入所属node中,实现所有points的sort,进而在搜索 ...
分类:
其他好文 时间:
2018-03-10 00:20:15
阅读次数:
313
1 k近邻算法2 模型2.1 距离测量2.2 k值选择2.3 分类决策规则3 kNN的实现——kd树3.1 构造kd树3.2 kd树搜索 1 k近邻算法 k nearest neighbor,k-NN,是一种基本分类与回归的方法,输入为实例的特征向量——对应空间的点,输出为实例的类别,可取多类。kN ...
分类:
编程语言 时间:
2018-03-02 18:40:18
阅读次数:
215
哈希表(Hash table,也叫散列表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。 顺序搜索以及二叉树搜索树中,元素存储位置和元素各关键码之间没有对应 ...
分类:
其他好文 时间:
2018-02-28 22:53:20
阅读次数:
236
哈希表(Hashtable,也叫散列表),是根据关键码值(Keyvalue)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。顺序搜索以及二叉树搜索树中,元素存储位置和元素各关键码之间没有对应的关系,因此在查找一个元素时,必须要经过关键码的多次比较。搜索的效率取决于搜索过程中元素的比较次数。理想的
分类:
其他好文 时间:
2018-02-28 21:34:22
阅读次数:
171
kd树就是一种对k维空间中的实例点进行存储以便对其进行快速检索的树形数据结构,可以运用在k近邻法中,实现快速k近邻搜索。构造kd树相当于不断地用垂直于坐标轴的超平面将k维空间切分,依次选择坐标轴对空间进行切分,选择训练实例点在选定坐标轴上的中位数为切分点。具体kd树的原理可以参考kd树的原理。 代码 ...
分类:
编程语言 时间:
2018-02-09 22:22:11
阅读次数:
220
本篇导航: 介绍 基本使用 遍历文档树 搜索文档树 总结 re模块在之前的python进阶中有讲过不再做过多的阐述,本篇为BeautifulSoup库的分析 20、collections模块和re模块(正则表达式详解) 一、介绍 Beautiful Soup 是一个可以从HTML或XML文件中提取数 ...
分类:
其他好文 时间:
2018-01-19 16:52:30
阅读次数:
226