#include "stdio.h" #include "stdlib.h" #define TRUE 1#define FALSE 0 typedef int Boolean;typedef char VertexType; typedef int EdgeType; #define ...
分类:
其他好文 时间:
2015-07-14 19:39:57
阅读次数:
69
1.问题描述与理解
深度优先搜索(Depth First Search,DFS)所遵循的策略,如同其名称所云,是在图中尽可能“更深”地进行搜索。在深度优先搜索中,对最新发现的顶点v若此顶点尚有未探索过从其出发的边就探索之。当v的所有边都被探索过,搜索“回溯”到从其出发发现顶点v的顶点。此过程继续直至发现所有从源点可达的顶点。若图中还有未发现的顶点,则以其中之一为新的源点重复搜索,直至所有的...
分类:
编程语言 时间:
2015-07-10 19:11:01
阅读次数:
129
目录:算法一:快速排序算法算法二:堆排序算法算法三:归并排序算法四:二分查找算法算法五:BFPRT(线性查找算法)算法六:DFS(深度优先搜索)算法七:BFS(广度优先搜索)算法八:Dijkstra算法算法九:动态规划算法算法十:朴素贝叶斯分类算法算法一:快速排序算法快速排序是由东尼·霍尔所发展的一...
分类:
编程语言 时间:
2015-07-05 18:08:51
阅读次数:
259
图的遍历是指从一个顶点出发,访问且仅一次访问图中其余所有顶点,不是所有边的处理。是求图的连通性,拓扑排序,路径求解等问题的基础。 非常基本的图的遍历方法有深度优先搜索法和广度(宽度)优先搜索法。 ? ...
分类:
其他好文 时间:
2015-06-21 09:33:49
阅读次数:
160
九章算法官网-原文网址
http://www.jiuzhang.com/problem/76/
题目
给定一个二叉树,找出其最小深度。
二叉树的最小深度为根节点到最近叶子节点的距离。
在线测试本题
http://www.lintcode.com/zh-cn/problem/minimum-depth-of-binary-tree/
解答
方法一:递归...
分类:
编程语言 时间:
2015-06-14 12:37:04
阅读次数:
125
前几天看纪磊的《啊哈!算法》一书,里面讲算法讲的特别通俗细致,真的是初中生都能读得懂的算法书(我大二才读:P)。这段代码很适合初学算法的同学。#includeusing namespace std;int a[10], book[10], n;//全排列算法,运用深度优先搜索dfsvoid dfs(...
分类:
编程语言 时间:
2015-06-12 23:50:19
阅读次数:
244
本专题主要锻炼搜索的两大方法——bfs (广度优先搜索)和 dfs (深度优先搜索)======================华丽的分割线=============================一、bfs——广度优先搜索 bfs主要运用于搜索中求最短时间的问题,搜索过程中一般需要运用 ...
分类:
其他好文 时间:
2015-06-09 23:37:38
阅读次数:
176
1 #include 2 /* 3 输入一个数n,输出1~n的全排列,有多少种不同的排列? 4 //暴力枚举当然可以,写判断累死.for循环嵌套起来也是累. 5 6 这里运用的是depth first search,DFS 深度优先搜索的思想 7 装作n对应的是n张扑克牌,将其放入n个盒子里有...
分类:
编程语言 时间:
2015-06-06 01:36:54
阅读次数:
143
template //深度优先搜索DFS算法(全图)
void Graph::dfs(int s) { //assert: 0 <= s < n
reset(); int clock = 0; int v = s; //初始化
do //逐一检查所有顶点
if (UNDISCOVERED == status...
分类:
其他好文 时间:
2015-06-05 17:42:20
阅读次数:
142
求无向图的关节点dfn[]来存点的深度数在一张深度优先搜索树中,如果u和v是两个顶点,且生成树中u是v的祖先,则必有dfn[u]2,1->3,2->3中,dfs时1->2->3,这里dfs树中的边为1->2,2->3,那么1->3就是回边;(1)如果点u是dfs生成树的根,那么u至少有2个子女。理由...
分类:
编程语言 时间:
2015-06-03 23:09:07
阅读次数:
492