美文网首页
图的遍历, since 2020.03.07

图的遍历, since 2020.03.07

作者: Mc杰夫 | 来源:发表于2020-03-07 18:11 被阅读0次

Depth-Firth Search(DFS)深度优先搜索:

用栈stack实现,记录每个vertex是否被访问过,其流程如下:

1 初始化,设置一个数据结构(比如字典),记录每个结点是否被访问过,visited[i] = 0;

2 选择DFS的初始结点,如k,visited[k] = 1;

3 k塞入一个栈结构,S;

while S非空:

    x = 栈顶元素

    if x的邻近节点有未被访问的节点w:

        w进栈, visited[w] = 1;

    else:

        x出栈.

2020.03.08 Sun

Breadth-First Search(BFS)广度优先搜索:

用队列(queue)实现。流程如下:

1 初始化,设置一个数据结构(比如字典),记录每个结点是否被访问过,visited[i] = 0;

2 选择BFS的初始结点,如k,visited[k] = 1;

3 k塞入一个队列queue, S;

while S非空:

    x=S首元素出队列;

    W = x的邻域点集合;

    for w in W:

        if visited[w] == 1: continue

        else: visited[w] = 1 并且w进S队列 (为标记任一点距离首发点的距离可将w与距离组成元组加入S)

复杂度: n个顶点和m条边的BFS复杂度O(n+m).[1]

reference:

1 M.T. Goodrich and etc., Data Structures and Algorithms in Python.

相关文章

  • 图的遍历, since 2020.03.07

    Depth-Firth Search(DFS)深度优先搜索: 用栈stack实现,记录每个vertex是否被访问过...

  • 图的深度优先遍历

    数据结构遍历的意义 树的遍历 图的遍历 树的前序遍历 图遍历和树遍历区别 知识回顾 树的深度优先遍历 普通函数和递...

  • 图的深度优先遍历和马踏棋盘算法

    图的深度优先遍历思想 图的遍历通常有两种遍历次序方案: 深度优先遍历和广度优先遍历。深度优先遍历(DepthFir...

  • 图的DFS && BFS遍历

    对图的深度优先遍历: 对图的广度优先遍历:

  • 数据结构与算法学习-图的遍历

    图的遍历可以分为:深度优先遍历和广度优先遍历 一、深度优先遍历 深度优先遍历的实现思路 将图的顶点和边信息输⼊入到...

  • 图和遍历

    邻接矩阵定义一个图 其实就是二维数组来定义 图的遍历 深度搜索遍历 2.广度搜索遍历 遍历

  • 2020.03.07

    这两天是开心的一两天 谢谢你能原谅我,但我知道这不代表什么 我们已经分手了,分手了158天。原因在我 一月十四 我...

  • 2020.03.07

    你知道为什么微信点开对方头像没有提醒吗? ​你知道为什么朋友圈没有访客记录吗? ​你知道为什么微信不提示你哪条朋友...

  • 2020.03.07

    姓名:蔡江燕 公司:海南蔚蓝时代实业有限公司 组别:365期谦虚3组学员 【日精进打卡第707天】 【知~学习】 ...

  • 2020.03.07

    “日间功夫觉纷扰,则静坐。觉懒看书,则且看书。是亦因病而药。” 肤浅浮躁的心,总是会本能地往舒服上...

网友评论

      本文标题:图的遍历, since 2020.03.07

      本文链接:https://www.haomeiwen.com/subject/nwvcdhtx.html