package arithmetic.graphTraveral;import java.util.LinkedList;import java.util.Queue; /** * 这个例子是图的遍历的两种方式 * 通过它,使我来理解图的遍历 * Created on 2013-11-...
分类:
编程语言 时间:
2014-11-26 23:56:12
阅读次数:
310
二叉树的层次遍历,也就是广度优先遍历。代码如下: 1 void HierarchyBiTree(BiTree *Root) 2 { 3 LinkQueue *Q; 4 5 InitQueue(Q); 6 7 if (Root == NULL) return ; 8 ...
分类:
其他好文 时间:
2014-11-24 16:53:44
阅读次数:
247
二叉堆我们知道堆栈是一种LIFO(后进先出)结构,队列是一种FIFO(先进先出)结构,而二叉堆是一种最小值先出的数据结构,因此二叉堆很适合用来做排序。二叉树的性质:二叉堆是一棵完全二叉树,且任意一个结点的键值总是小于或等于其子结点的键值,二叉堆采用数组来存储(按广度优先遍历的顺序),而没有像普通的树...
分类:
其他好文 时间:
2014-11-19 20:16:13
阅读次数:
174
C++实现图的邻接矩阵的创建以及其深度优先遍历和广度优先遍历...
分类:
编程语言 时间:
2014-11-02 09:26:03
阅读次数:
189
> 基础1. 广度遍历优先是从给定的root节点开始,逐层次的向下访问各个节点;2. 实现的方式是通过队列的先进先出,将从root节点开始的左孩子和右孩子压入到队列中,并顺序取出;3. 由于是用队列实现,因此不存在用递归实现的方式。下面是基本的广度遍历优先算法: 1 def breadthFirst...
分类:
其他好文 时间:
2014-10-28 23:51:03
阅读次数:
402
上面我们谈了在搜索引擎中,如何建立索引,这里,我们讲如何自动下载互联网上所有的网页,重点就是图论中的遍历算法。 1.图论和网络爬虫 遍历算法主要有两种,一种是深度优先遍历,一种是广度优先遍历。所谓深度优先遍历,就是从一个节点开始,一直沿着一条路走到底,直到没路了,再回过头去找别的路,再一路走...
分类:
其他好文 时间:
2014-10-27 22:54:08
阅读次数:
253
严蔚敏那本教材上的说法:一个深度为k,节点个数为 2^k - 1 的二叉树为满二叉树。这个概念非常好理解,就是一棵树,深度为k,而且没有空位。首先对满二叉树依照广度优先遍历(从左到右)的顺序进行编号。一颗深度为k二叉树,有n个节点,然后,也对这棵树进行编号,假设全部的编号都和满二叉树相应,那么这棵树...
分类:
其他好文 时间:
2014-10-27 12:14:39
阅读次数:
250
作者:张昌昌
为了获取一个压缩包中的文件,而该压缩包里可能又含有压缩包 、文件夹、文件夹里又包含压缩包、文件等各种嵌套的情况,采用广度优先遍历和深度优先遍历的方法解决了此问题。
public static List getFilesOfZipAndRar(String zipPath) throws IOException
{
String dest...
分类:
编程语言 时间:
2014-10-25 18:48:36
阅读次数:
438
1 import java.util.ArrayDeque; 2 3 public class BinaryTree { 4 static class TreeNode{ 5 int value; 6 TreeNode left; 7 ...
分类:
其他好文 时间:
2014-10-20 23:15:40
阅读次数:
277
在一个n*n的矩阵里走,从原点(0,0)开始走到终点(n-1,n-1),只能上下左右4个方向走,只能在给定的矩阵里走,求最短步数。n*n是01矩阵,0代表该格子没有障碍,为1表示有障碍物。
int mazeArr[maxn][maxn]; //表示的是01矩阵
int stepArr[4][2] = {{-1,0},{1,0},{0,-1},{0,1}}; //表示上下左右4个方向
...
分类:
其他好文 时间:
2014-10-03 11:04:04
阅读次数:
200