广度优先遍历(逐层遍历)从根节点开始,向下逐层访问每个节点,在每一层次上,从左到右访问每个节点。可以用队列实现二叉树的广度优先深度优先遍历按根、左子树、右子树三个部分进行访问有三种方式,分别称为先序遍历,中序遍历,后序遍历。前序遍历中序遍历后序遍历
分类:
其他好文 时间:
2015-05-11 17:24:56
阅读次数:
213
For example:
Given the below binary tree and sum
= 22,
5
/ 4 8
/ / 11 13 4
/ \ / 7 2 5 1
re...
分类:
其他好文 时间:
2015-05-11 09:08:25
阅读次数:
120
近两个星期,回顾数据结构时又把图的相关知识复习了一下,顺便为了提高编码能力,将基本算法也都实现了一下。现将实例附录如下:1)要实现的算法①建立图的存储结构②深度优先搜索和广度优先搜索③求图的最小生成树④拓扑排序⑤最短路径2)存储结构设计 本系统采用图结构(mgraph)存储抽象操作的信息。其中...
分类:
编程语言 时间:
2015-05-10 22:08:40
阅读次数:
181
使用递归(隐式地使用栈)时间代价O(E+V)输入:图G、起点start(int)算法过程DFS(G, start)1. 访问start节点,color[start]=visited2. preVisit();在访问子节点前,对start节点进行处理,比如print之类的3. 循环,对于和start相...
分类:
其他好文 时间:
2015-05-08 20:04:55
阅读次数:
140
以前一直以为分支限界跟回溯差不多,最近又看了看算法,其实两者大不一样。 回溯是对状态空间树进行深度优先搜索,通过约束函数来去除不符合条件的叶子或是树枝(如果某个非叶子节点不符合约束函数,以该节点为根的树杈就可以直接剪掉了,所以回溯其实是一个剪树枝的过程)。到最后没有被剪掉的部分,就是全部的可行解,如...
分类:
其他好文 时间:
2015-05-08 19:57:01
阅读次数:
117
用两种方式来实现1、 深度优先搜索(DFS)对有向图采取深度优先搜索,并且在postVist处,打印所访问的节点。最后打印出的字符序列的反序列正好满足拓扑排序。(可以在postVist()方法中,将所访问的元素压到栈中,这样最后从栈中一个个弹出来的元素的序列恰好就是拓扑排序的一个解)这种方法证明是正...
分类:
编程语言 时间:
2015-05-08 19:56:33
阅读次数:
124
广度优先搜索可以形成一个广度优先搜索树算法时间为O(V+E),两重循环输入:图g,起点start(int)需要的数据结构:队列Q、color数组(存放每个顶点的颜色)算法过程:1. 预处理:1)color数组的每个值都赋为white(表示没被访问过);2)队列Q为空队列2. 处理起点:1)color...
分类:
其他好文 时间:
2015-05-08 19:48:00
阅读次数:
133
Asteroids!
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 4038 Accepted Submission(s): 2605
Problem Description
You're in space...
分类:
其他好文 时间:
2015-05-08 13:07:49
阅读次数:
153
这一题,简单的广搜就可以搞定,只是在搜索的时候判断比较麻烦,遇到楼梯的时候,有多种情况,停下来等,或者走其他路,来到楼梯,楼梯是否可以直接上等等的判断。
一开始WR,就是在楼梯可以直接上的时候,没有判断走出楼梯的那一个是否可以走,所以WR了3次。
下面AC的代码:
#include
#include
using namespace std;
class Node
{
public:...
分类:
其他好文 时间:
2015-05-08 09:37:06
阅读次数:
103
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