zoukankan      html  css  js  c++  java
  • BFS

    橫向優先搜尋 (breadth-first search)


    breadth-first search 是以某一節點為出發點,先拜訪所有相鄰的節點。再依序拜訪與剛才被拜訪過的節點相鄰但未曾被拜訪過的節點,直到所有相鄰的節點都已被拜訪過。因此,進行 breadth-first search 時,需要使用 queue ,以便記錄拜訪的順序。


    1. 起始。


    2. 假設從 a 開始拜訪,我們將 a 放進queue。

      QUEUE
      queue front a
      queue back

      接下來把 a 從queue中取出,a 有三個節點可以拜訪 (b, c, d)。
      QUEUE
      queue empty

    3. 假設我們選擇先拜訪 b ,我們將 b 放進queue。

      QUEUE
      queue front b
      queue back

    4. 再來,假設我們選擇拜訪 c ,我們將 c 放進queue。

      QUEUE
      queue front b
      c
      queue back

    5. 我們選擇拜訪 d ,我們將 d 放進queue。

      QUEUE
      queue front b
      c
      d
      queue back

      由於已經拜訪過所有與 a 相鄰的節點,我們從queue中取出下一個元素 b, b 有兩個節點可以拜訪 (e, f)。
      QUEUE
      queue front c
      d
      queue back

    6. 假設我們選擇先拜訪 e ,我們將 e 放進queue。

      QUEUE
      queue front c
      d
      e
      queue back

    7. 再來我們選擇拜訪 f ,我們將 f 放進queue。

      QUEUE
      queue front c
      d
      e
      f
      queue back

      由於已經拜訪過所有與 b 相鄰的節點,我們從queue中取出下一個元素 c, c 沒有節點可以拜訪。
      QUEUE
      queue front d
      e
      f
      queue back

      由於已經拜訪過所有與 c 相鄰的節點,我們再從queue中取出下一個元素 d, d 可以拜訪 g。
      QUEUE
      queue front e
      f
      queue back

    8. 我們選擇拜訪 g ,我們將 g 放進queue。

      QUEUE
      queue front e
      f
      g
      queue back

      由於已經拜訪過所有與 d 相鄰的節點,我們從queue中取出下一個元素 e, e 沒有節點可以拜訪。
      QUEUE
      queue front f
      g
      queue back

      由於已經拜訪過所有與 e 相鄰的節點,我們從queue中取出下一個元素 f, f 沒有節點可以拜訪。
      QUEUE
      queue front g
      queue back

      由於已經拜訪過所有與 f 相鄰的節點,我們從queue中取出下一個元素 g, g 沒有節點可以拜訪。
      QUEUE
      queue empty

      由於 g 也沒有節點可以拜訪,此時 queue 已經全部清空,breadth-first search完成。
  • 相关阅读:
    sql语句最后一行显示统计。
    Win10访问不到XP共享的解决:
    git-github-TortoiseGit综合使用教程(二)快速入门
    git-github-TortoiseGit综合使用教程(一)简介
    RHEL7 -- 修改主机名
    安装完 MySQL 后必须调整的 10 项配置(转)
    my.cnf
    mysql查看系统参数
    MySQL性能的五大配置参数(内存参数)
    (转)Linux用户登录记录日志和相关查看命令汇总
  • 原文地址:https://www.cnblogs.com/kuiyuan/p/1169879.html
Copyright © 2011-2022 走看看