算法二:深度和广度优先搜索

原创 2015年07月07日 17:37:19
图论

存储:图的邻接矩阵存储法
采用矩阵方式(二维数组)存储,定点个数(n)等于二维数组的大小(n*n)。
第(i,j)表示顶点i到顶点j是否有边,1表示有边,∞表示没有边。
如果是对称矩阵这说明是个无向图。


深度优先搜索depth first search(DFS),时间复杂度O(N^2)
"下一步如何做"和"当下该如何做"是一样的,所以可以采用递归调用方法。

把每一种可能都去尝试一遍(在for循环中实现),当前这一步解决后便进入下一步(递归调用dfs(step+1)。

book[n]标记是否遍历过。

sum标记是否已访问过所有节点。

void dfs(int step)
{
     判断是否找到底部
          return;//返回之前的一步
     尝试每种方法for(i=1;i<=n;i++)

     {

            判断是否有边并且未访问过

                继续下一步dfs(step+1)
     }
     返回

}

应用:搜索,迷宫找人,城市地图的最短行车方案.....

DFS更适合在同一个IP地址中爬虫(长连接处理)。

广度优先搜索breadth first search(BFS),时间复杂度O(N^2)
使用队列,通过一层一层寻找的方法。

queue,head,tail


while(队列没遍历完)
{
    每个方向全找一边for(i=0;i<=n;i++)
    {
        更新下一个节点
        在路经中

              将该点入队,并做标记

        判断是否所有顶点都已经被访问过
              return;//寻找结束

    }
}

应用:搜索,电路板自动布线,航班转机次数最少....

广度优先搜索更加适用于所有边的权值相同的情况。

二值化神经网络系列一:二值化神经网络介绍

1. 二值化神经网络简介 2. 神经网络的二值化方法 3. 训练二值化神经网络
  • tangwei2014
  • tangwei2014
  • 2017年02月14日 02:11
  • 2760

二值化神经网络系列一:二值化神经网络介绍

二值化神经网络以其高模型压缩率和快计算速度的潜在优势,近些年成为深度学习的热门研究方向。本篇博文将对二值化神经网络做一个详细的介绍。 尊重原创,转载请注明:  http://blog.csdn...
  • fsFengQingYangheihei
  • fsFengQingYangheihei
  • 2017年03月15日 17:36
  • 1729

[深度学习基础] 2. 线性分类器

本文将以 softmax 线性分类器为例, 讨论数据驱动过程的各组成部分. 同时本章是后文非线性分类器和深度学习的铺垫. 1 训练数据 给定由 m 张图像组成的训练集, 每个图像的标记是 K 个不...
  • Hao_Zhang_Vision
  • Hao_Zhang_Vision
  • 2016年09月25日 22:23
  • 1345

十二、图的遍历--(2)深度优先搜索算法

摘自计蒜客:http://www.jisuanke.com/course/35/7316 深度优先搜索(Depth-First-Search,简称DFS)。这是一种常见的用于遍历或搜索树或者图的算法。...
  • firetreeSF
  • firetreeSF
  • 2016年05月01日 22:06
  • 1004

深度学习零基础进阶第二弹

图片来自wiki 昨天,雷锋网编译了《干货分享 | 深度学习零基础进阶大法!》,相信读者一定对深度学习的历史有了一个基本了解,其基本的模型架构(CNN/RNN/LSTM)与深度学习如何应用在图片和语音...
  • jiangjingxuan
  • jiangjingxuan
  • 2017年02月27日 08:18
  • 275

聊聊深度学习这档子事(2):最小二乘法

聊聊深度学习这档子事(1):最小二乘法 作者: 许野平 2016-06-18 于济南 1. 背景知识 当观测数据远远大于待定的参数时,如何尽可能准确地求出数学模型参数的近似解?这个问题通常采...
  • quicmous
  • quicmous
  • 2016年06月18日 14:39
  • 1771

最小二乘算法之我见(一)

从五个方面来讲解最小二乘算法,即基本直线拟合、"正规方程(Normal Equation)" 解法、扩展1——平面拟合、扩展2——般线性拟合(二次曲线等)、特殊情况,给你不一样的视角来看最小二乘法。...
  • popo_0314
  • popo_0314
  • 2016年04月29日 13:30
  • 2535

[深度学习]Wake-Sleep算法

本文翻译自2007-To recognize shapes, first learn to generate images, Geoffrey Hinton. 第五种策略的设计思想是使得高层的特征提...
  • dukai392
  • dukai392
  • 2017年04月27日 11:25
  • 673

常用图像的二值化算法

我们遇到的识别图片,经常被认为的加入杂色干扰,形成一个浓淡分布不均的多值图像。把这样一幅多灰度值的图像(Gray Level Image)转化为只有黑(前景文字部分)白(背景部分)分布的二值图像(Bi...
  • H_R_D_127
  • H_R_D_127
  • 2015年08月09日 15:27
  • 1125

利用Levenberg_Marquardt算法求解无约束的非线性最小二乘问题~

早就想写这篇文章,但是一直没抽出空,主要是画图比较麻烦,嘿嘿~ 现在介绍如何利用经典的Levenberg_Marquardt算法求解无约束的非线性最小二乘问题。Levenberg_Marquardt算...
  • wsj998689aa
  • wsj998689aa
  • 2014年11月05日 17:19
  • 3530
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:算法二:深度和广度优先搜索
举报原因:
原因补充:

(最多只允许输入30个字)