数据结构 栈,队列,链表 ?哈希表,哈希数组 ?堆,优先队列 双端队列 可并堆 左偏堆 ?二叉查找树 Treap 伸展树 ?并查集 集合计数问题 二分图的识别 ?平衡二叉树 ?二叉排序树 ?线段树 一维线段树 二维线段树 ?树状数组 一维树状数组 N维树状数组 ?字典树 ?后缀数组,后缀树 ?块状链 ...
分类:
编程语言 时间:
2018-08-10 15:59:19
阅读次数:
175
递归遍历: 查找指定父节点下所有子代节点 如何: 2步: 1. 先遍历所有直接子节点 2. 在遍历直接子节点时,对每个子节点调用和父节点完全相同的方法。 算法: 深度优先遍历: 每次都优先遍历子节点 所有子节点遍历完,才返回遍历兄弟节点 递归的效率: 极低。 解决: 绝大多数递归都可用循环代替 遍历 ...
分类:
其他好文 时间:
2018-08-04 16:16:30
阅读次数:
179
【一. 时间戳(dfn)】 什么是时间戳? 就是每个位置被访问到的次序。 比如说我们对一棵树进行深搜,在深搜中访问的相应次序就被我们称为时间戳。 【二. 树的dfs序】 1.dfs序的作用 维护一系列树上的问题,解决一棵树上的所有后代结点信息的更改和祖先结点有关改变, 通过dfs来记录树的每个顶点的 ...
分类:
其他好文 时间:
2018-07-25 16:15:46
阅读次数:
220
广度优先搜索: 策略: 从起点开始遍历其相邻接的节点,由此向外不断扩散 深度优先遍历 策略是: 从一个顶点v出发,首先将v标记为已遍历的顶点,然后选择一个邻接于v的尚未遍历的顶点u,如果u不存在,本次搜素终止。如果u存在,那么从u又开始一次DFS。如此循环直到不存在这样的顶点。 具体参考 https ...
分类:
其他好文 时间:
2018-07-21 14:40:22
阅读次数:
116
【题目链接】 http://poj.org/problem?id=1741 【算法】 点分治 要求距离不超过k的点对个数,不妨将路径分成两类 : 1. 经过根节点 2. 不经过根节点 考虑第1类路径,不妨从根节点进行一次深度优先遍历,求出每个点与根节点的距离,将距离排序,然后用两个指针扫描一遍即可, ...
分类:
其他好文 时间:
2018-07-15 16:08:29
阅读次数:
172
对于二叉树,树的遍历通常有4种:先序遍历,中序遍历,后序遍历。 对于多叉树,树的遍历通常有2种,深度优先遍历和广度优先遍历 Dom的操作跟树的遍历天然的联系起来。 例如:上图所示的Dom树的关系可看出成一颗多叉树, 它的广度优先遍历(层次遍历)为: 深度优先遍历为:div .root div .co ...
分类:
其他好文 时间:
2018-07-10 11:26:41
阅读次数:
211
这里用深度优先遍历存在矩阵里面的图。 深度优先利用的是栈的FIFO特性。为此遍历到底后,可以找到最相邻的节点继续遍历。实现深度优先,还需要在节点加上一个访问标识,来确定该节点是否已经被访问过了。 源码: 测试程序: 测试结果: ...
分类:
编程语言 时间:
2018-07-01 14:53:53
阅读次数:
176
图的遍历和树的遍历类似。图的遍历是指从图中的某个顶点出发,对图中的所有顶点访问且仅访问一次的过程。通常有两种遍历次序方案:深度优先遍历和广度优先遍历。 一、深度优先遍历算法描述 深度优先遍历(Depth_First_Search),也称为深度优先搜索,简称为DFS。 DFS算法描述:从图的某个顶点v ...
分类:
其他好文 时间:
2018-07-01 14:13:06
阅读次数:
152
爬虫入门之爬取策略 XPath与bs4实现(五) 在爬虫系统中,待抓取URL队列是很重要的一部分。待抓取URL队列中的URL以什么样的顺序排列也是一个很重要的问题,因为这涉及到先抓取那个页面,后抓取哪个页面。而决定这些URL排列顺序的方法,叫做抓取策略。下面重点介绍几种常见的抓取策略: 1 深度优先 ...
分类:
其他好文 时间:
2018-06-27 22:30:21
阅读次数:
272
#inlcude<stdio.h> #define V_SIZE 8 #define E_SIZE 10 typedef struct { char vertex[V_SIZE]; int adjacency_matrix[V_SIZE][V_SIZE]; }Un_Graph; int visite ...
分类:
其他好文 时间:
2018-06-21 23:50:24
阅读次数:
299