图的遍历指的是从图中的任一顶点出发,对图中的所有顶点访问一次且只访问一次。图的遍历操作和树的遍历操作功能相似。图的遍历是图的一种基本操作,图的许多其它操作都是建立在遍历操作的基础之上。图的遍历方法目前有深度优先搜索法和广度(宽度)优先搜索法两种算法。深度优先搜索法DFS深度优先搜索法的基本思想是:从...
分类:
其他好文 时间:
2014-06-27 22:09:35
阅读次数:
310
这个题的意思就是给定一个序列,判断这个序列是否是某个二叉排序树的后序遍历序列,这个算法的方法主要是根据后序遍历的性质,首先这个序列的最后一个元素肯定是根元素,然后将序列从左往右遍历,找到第一个大于根元素的点,这个点左边的肯定是当前根的左子树,这个点的右边肯定是当前根的右子树,继续向后遍历,看右子.....
分类:
其他好文 时间:
2014-06-26 00:18:44
阅读次数:
280
1时间复杂度分析由于该图采用邻接矩阵存储,整个算法遍历的过程所花费的时间复杂度为该矩阵的N(row*col)。而由于其需要分别访问已经定位,需要进行分别2次操作,如下:visited=newbool[col*row];//访问标记for(i=0;i#include#include#include#i...
分类:
其他好文 时间:
2014-06-25 22:11:11
阅读次数:
235
1.DFS预处理出所有节点的深度和父节点inline void dfs(int u){ int i; for(i=head[u];i!=-1;i=next[i]) { if (!deep[to[i]]) { ...
分类:
其他好文 时间:
2014-06-24 20:23:57
阅读次数:
251
数字化设计,尤其是界面设计,新趋势之一就是简单。其实微软早在2007年可能已经开始进行对简单界面的追求了,当时他们推出的Zune播放器拥有优美的排版界面。尽管该产品的有些失败,但其UI进行了改进并且应用到Windows Phone和Windows 8界面设计里。另一方面iOS上在大量逼真的纹理和深度...
分类:
其他好文 时间:
2014-06-24 14:40:48
阅读次数:
219
题目:输入一个整数数组,判断该数组是不是某个二叉搜索树的后序遍历序列假设输入的数组的数字均不相同解题分析:对于二叉搜索树,中序序列一定是升序的,我们将后序遍历序列排序,结果即为 中序遍历序列如果该后序遍历序列是正确的,那么 由 中序遍历序列和后序遍历序列 一定可以构建一棵二叉树如果不能成功构建一棵二...
分类:
其他好文 时间:
2014-06-24 14:10:18
阅读次数:
166
深度优先算法
问题
给定一个有向图,判断其顶点能否到达另外一个顶点。
解决办法
使用深度优先算法,和无向图中的是一样的。
代码
import java.util.Stack;
/**
* Created by caipeichao on 14-6-11.
*/
public class Digrap...
分类:
其他好文 时间:
2014-06-22 21:32:28
阅读次数:
250
本文参考了李春葆版本的数据结构上机指导,但是原版是c代码,
本文用了c++实现,并且修复了深度优先搜索非递归的一个bug。
graph.cpp文件:
#include"graph.h"
#include
#include
int visited[MAXV];
MGraph::MGraph(int A[100][10],int nn,int ee)
{
e=ee;
n=nn;...
分类:
编程语言 时间:
2014-06-22 19:37:23
阅读次数:
655
也许一般代码不会触及最大参数长度和最大栈深度,但某些特殊场合,检测这两个参数还是有必要的
例如:用递归计算斐波那契数列的第n个值,不了解最大栈深度,难免显得肤浅
又例如:将一串charCode转成String,不了解最大参数长度,采用字符串拼接的方式,效率提不上,特别是在串较长的情况下
function getMaximumSupportedArgumentsLength(){
var a...
分类:
编程语言 时间:
2014-06-22 06:06:20
阅读次数:
258
一起阅读C++经典:深度探索C++对象模型-第二章-构造函数的建构...
分类:
编程语言 时间:
2014-06-21 19:49:00
阅读次数:
280