1 package alibaba; 2 /** 3 * 深度优先遍历--->栈; 4 广度优先遍历--->队列; 5 */ 6 import java.util.ArrayDeque; 7 8 public class Bi...
分类:
其他好文 时间:
2015-05-27 22:38:10
阅读次数:
249
使用邻接表存储图,采用深度优先遍历邻接表即可。...
分类:
其他好文 时间:
2015-05-26 09:12:24
阅读次数:
122
import java.util.ArrayDeque;public class BinaryTree { static class TreeNode{ int value; TreeNode left; TreeNode right; ...
分类:
编程语言 时间:
2015-05-18 12:20:51
阅读次数:
119
深度优先遍历从某个顶点出发,首先访问这个顶点,然后找出刚访问这个结点的第一个未被访问的邻结点,然后再以此邻结点为顶点,继续找它的下一个新的顶点进行访问,重复此步骤,直到所有结点都被访问完为止。广度优先遍历从某个顶点出发,首先访问这个顶点,然后找出这个结点的所有未被访问的邻接点,访问完后再访问这些结点...
分类:
其他好文 时间:
2015-05-11 17:39:50
阅读次数:
188
广度优先遍历(逐层遍历)从根节点开始,向下逐层访问每个节点,在每一层次上,从左到右访问每个节点。可以用队列实现二叉树的广度优先深度优先遍历按根、左子树、右子树三个部分进行访问有三种方式,分别称为先序遍历,中序遍历,后序遍历。前序遍历中序遍历后序遍历
分类:
其他好文 时间:
2015-05-11 17:24:56
阅读次数:
213
Given a binary tree, find its maximum depth.
The maximum depth is the number of nodes along the longest path from the root node down to the farthest leaf node.
基本思路:
深度优先遍历。
在leetcode上实行执行时间...
分类:
其他好文 时间:
2015-05-06 23:08:25
阅读次数:
184
图的遍历:
定义:从图中的某一顶点出发,沿着边访问访问图中其余顶点,且使每个顶点仅被访问一次。
通常有两种遍历次序方案:
?深度优先遍历(dfs)---类似于前序遍历
?广度优先遍历(bfs)---类似于层序遍历
?深度优先遍历(dfs)
算法思想描述:
访问起始顶点v
当 v 还有邻接顶点未被访问时:(起始条件)
?深度遍历未访问的邻接顶点...
分类:
其他好文 时间:
2015-04-26 09:33:06
阅读次数:
162
题目:
基本思想:
这是一个深搜问题,不过呢,你可以看到题目截图中有答案提示:城市数目较多,因此不能使用完全遍历,无法满足时间复杂度要求。所以需要对数据做一下预处理,也就是将map转换为链表形式的,本来map应该是只有0,1的值,表示有路径或者没路径。不过为了节约点内存(虽然没什么必要),所以map复用。当前节点i如果和另外的节点j相连,则将节点j放在map中。第0个元素存...
分类:
其他好文 时间:
2015-04-24 16:28:20
阅读次数:
159
main.h:
#include
#include
#define DefaultSize 10
#define maxWeight -1
using namespace std;
template
struct Edge
{
int dest;
E cost;
Edge *link;
Edge(int d=0,int c=0):dest(d),cost(c),link(NUL...
分类:
编程语言 时间:
2015-04-20 15:04:14
阅读次数:
213
在 看 严蔚敏的 数据结构 一书 7.5小节时,书上 说“ 判断有向图是否存在环要不无向图复杂。对于无向图来说,深度优先遍历过程中遇到回边(即指向已访问过的顶点的边),则必定存在环路”。 看的不明白,所以 网上 百度了一下。
有了思路:故写下算法 和思路,以便以后 温故。
思路:
1.一个n个顶点,e条边的 无向图,若 e>= n,必有环路。
2.若 e 如果 遇到 一个 节点 被访问过 ...
分类:
其他好文 时间:
2015-04-13 16:48:02
阅读次数:
172