码迷,mamicode.com
首页 >  
搜索关键字:深度优先 广度优先    ( 1990个结果
【Java 集合与队列的插入、删除在并发下的性能比较】
这两天在写一个java多线程的爬虫,以广度优先爬取网页,设置两个缓存:   一个保存已经访问过的URL:vistedUrls   一个保存没有访问过的URL:unVistedUrls   需要爬取的数据量不大,对URL压缩后,可以把这两个数据结构都放入内存,vistedUrls很显然用HashSet实现,因为已经访问的URL只会添加,不会删除和修改,使用HashSet可以高效...
分类:编程语言   时间:2015-04-28 18:35:37    阅读次数:244
"《算法导论》之‘图’":深度优先搜索、宽度优先搜索及连通分量
本文兼参考自《算法导论》及《算法》。 以前一直不能够理解深度优先搜索和广度优先搜索,总是很怕去碰它们,但经过阅读上边提到的两本书,豁然开朗,马上就能理解得更进一步。 1. 深度优先搜索 1.1 迷宫搜索 在《算法》这本书中,作者写了很好的一个故事。这个故事让我马上理解了深度优先搜索的思想。...
分类:编程语言   时间:2015-04-28 01:42:28    阅读次数:340
HDU ACM 1043 Eight->广度优先搜索(BFS)+康托展开(全排列hash)实践
分析:经典的八数码问题,参考别人的代码写的,逆向广搜,把结果保存起来,之后在使用。 #include #include using namespace std; #define STATE_COUNT 363000 //因为9!=362880 int fact[]={1,1,2,6,24,120,720,5040,40320,362880}; //0到9的阶乘,用来计算hash值 cha...
分类:其他好文   时间:2015-04-27 21:54:28    阅读次数:175
数据结构之深度优先,广度优先遍历
深度优先和广度优先遍历在树和图中应用最为普遍,思想也类似,因此放到一起来总结。二叉树的深度优先广度优先遍历:一棵二叉树(2,(2(3,4),3(4,5))),这是一棵满二叉树,一共有7个节点,根节点2,深度为3数据结构定义如下:class Node: def __init__(self, value...
分类:其他好文   时间:2015-04-27 21:18:28    阅读次数:129
二叉树算法:中序、后序推导先序(数组递归实现)
中根序列和后根序列重建二叉树描述我们知道如何按照三种深度优先次序来周游一棵二叉树,来得到中根序列、前根序列和后根序列。反过来,如果给定二叉树的中根序列和后根序 列,或者给定中根序列和前根序列,可以重建一二叉树。本题输入一棵二叉树的中根序列和后根序列,要求在内存中重建二叉树,最后输出这棵二叉树的前根序...
分类:编程语言   时间:2015-04-27 19:51:15    阅读次数:191
最近公共祖先 tarjan离线算法 C++
最近做到一道题目,大概的意思就是求一个多叉树中两个节点的最近公共祖先,输入是用邻接矩阵表示的。要想理解tarjan算法并实现它,需要先理解一下内容:1) 深度优先搜索;tarjan算法核心思想:当某节点刚刚搜索完毕时,看与其相关的结点v是否已经被访问,如果v已经被访问过了,则它们的最近公共祖先就是v...
分类:编程语言   时间:2015-04-26 15:12:34    阅读次数:138
图的遍历
图的遍历: 定义:从图中的某一顶点出发,沿着边访问访问图中其余顶点,且使每个顶点仅被访问一次。 通常有两种遍历次序方案: ?深度优先遍历(dfs)---类似于前序遍历 ?广度优先遍历(bfs)---类似于层序遍历 ?深度优先遍历(dfs) 算法思想描述: 访问起始顶点v  当 v 还有邻接顶点未被访问时:(起始条件)     ?深度遍历未访问的邻接顶点...
分类:其他好文   时间:2015-04-26 09:33:06    阅读次数:162
leetcode_113题——Path Sum II(深度优先搜索)
Path Sum IITotal Accepted:41402Total Submissions:155034My SubmissionsQuestionSolutionGiven a binary tree and a sum, find all root-to-leaf paths where ...
分类:其他好文   时间:2015-04-24 22:27:17    阅读次数:159
华为机试—条条道路通罗马
题目: 基本思想: 这是一个深搜问题,不过呢,你可以看到题目截图中有答案提示:城市数目较多,因此不能使用完全遍历,无法满足时间复杂度要求。所以需要对数据做一下预处理,也就是将map转换为链表形式的,本来map应该是只有0,1的值,表示有路径或者没路径。不过为了节约点内存(虽然没什么必要),所以map复用。当前节点i如果和另外的节点j相连,则将节点j放在map中。第0个元素存...
分类:其他好文   时间:2015-04-24 16:28:20    阅读次数:159
leetcode_112题——Path Sum(二叉树,深度优先搜索)
Path SumTotal Accepted:50593Total Submissions:169742My SubmissionsQuestionSolutionGiven a binary tree and a sum, determine if the tree has a root-to-l...
分类:其他好文   时间:2015-04-24 12:09:15    阅读次数:95
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!