zoukankan      html  css  js  c++  java
  • 深度优先(DFS)和广度优先(BFS)

    深度优先(Depth-First-Search)和广度优先(Breadth-First-Search)是我们遍历图的两种方式,它们都属于穷举法,用来系统的遍历图中的所有顶点

    关于如何再一个有向图/无向图中进行深度优先或者是广度优先,大家应该都清楚了

    但为了真正认识到该算法的功效和深度,我们不应该根据图的图形,而是应该根据它的邻接矩阵或者邻接链表来跟踪算法的操作

    可以用一张表来比较两者

    项目 DFS BFS
    数据结构 队列
    顶点顺序的种类 两种顺序 一种顺序
    变得种类(无向图) 树向边和回边 数向边和交叉边
    应用 连通性,无环性,关节点 无环性,连通性,最少边路径
    邻接矩阵的效率  V^2 V^2
    邻接链表的效率 V+E V+E

    注:V为图中顶点数量,E是边的数量

    本文参考《introduction to the design and analysis of algorithms》

  • 相关阅读:
    Sum Root to Leaf Numbers
    Sum Root to Leaf Numbers
    Sort Colors
    Partition List
    Binary Tree Inorder Traversal
    Binary Tree Postorder Traversal
    Remove Duplicates from Sorted List II
    Remove Duplicates from Sorted List
    Search a 2D Matrix
    leetcode221
  • 原文地址:https://www.cnblogs.com/QuixoteY/p/10237641.html
Copyright © 2011-2022 走看看